Как кодировать строку URL или параметр формы в Java

Как закодировать строку URL или параметр формы в java

Всегда рекомендуется кодировать URL или параметры формы; Параметр простой формы уязвим для межсайтовых атак, SQL-инъекций и может направить наше веб-приложение на непредсказуемый результат. Строка URL-адреса или параметры формы могут быть закодированы с помощью методаURLEncoder class - static encode (String s, String enc).

Например, когда пользователь вводит следующие специальные символы, а ваше веб-приложение не обрабатывает кодировку, это вызовет атаку межсайтового скрипта.

 ]]>

Пример использованияURLEncoder для кодирования строки иURLDecoder для декодирования закодированной строки

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

    }
    }
}

Результат

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

Не забывайте всегда кодировать строку URL и параметры формы, чтобы предотвратить все атаки уязвимостей.

Ссылка