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é.