Comment encoder une chaîne d’URL ou un paramètre de formulaire en java

Comment encoder une chaîne URL ou un paramètre de formulaire en Java

Ceci est toujours conseillé pour encoder des paramètres d'URL ou de formulaire; Le paramètre de forme simple est vulnérable aux attaques intersites, à l'injection SQL et peut diriger notre application Web vers une sortie imprévue. Une chaîne URL ou des paramètres de formulaire peuvent être encodés à l'aide de la méthodeURLEncoder class - static encod (String s, String enc).

Par exemple, lorsqu'un utilisateur entre les caractères spéciaux suivants et que votre application Web ne gère pas le codage, cela provoquera une attaque de script intersite.

 ]]>

Exemple d'utilisation deURLEncoder pour encoder une chaîne etURLDecoder pour décoder la chaîne encodée

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);

    }
    }
}

Résultat

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  ]]>

N'oubliez pas de toujours encoder la chaîne d'URL et les paramètres du formulaire pour éviter toutes les attaques de vulnérabilité.

Référence