Wie kodiere ich einen URL-String oder einen Formularparameter in Java?

So codieren Sie eine URL-Zeichenfolge oder einen Formularparameter in Java

Dies ist immer ratsam, um URL- oder Formularparameter zu codieren. Der Parameter in einfacher Form ist anfällig für Cross-Site-Angriffe und SQL-Injection und kann unsere Webanwendung in eine unvorhergesehene Ausgabe leiten. Ein URL-String oder Formularparameter können mit der Klasse - statische Codierungsmethode (String s, String enc) vonURLEncodercodiert werden.

Wenn ein Benutzer beispielsweise die folgenden Sonderzeichen eingibt und Ihre Webanwendung die Codierung nicht verarbeitet, führt dies zu einem Cross-Site-Skriptangriff.

 ]]>

Beispiel für die Verwendung vonURLEncoder zum Codieren einer Zeichenfolge undURLDecoder zum Decodieren der codierten Zeichenfolge

package com.example;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;

public class testEncode {

  public static void main(String args[]) {

    try {

    String url = " ]]>";

    String encodedUrl = URLEncoder.encode(url, "UTF-8");

    System.out.println("Encoded URL " + encodedUrl);

    String decodedUrl = URLDecoder.decode(url, "UTF-8");

    System.out.println("Dncoded URL " + decodedUrl);

    } catch (UnsupportedEncodingException e) {

        System.err.println(e);

    }
    }
}

Ergebnis

Encoded URL %3C%21%5BCDATA%5B+%3CIMG+SRC%3D%22+%26%2314%3B+
javascript%3Adocument.vulnerable%3Dtrue%3B%22%3E+%5D%5D%3E
Dncoded URL  ]]>

Bitte denken Sie daran, immer die URL-Zeichenfolge und die Formularparameter zu codieren, um alle Sicherheitslückenangriffe zu verhindern.