У меня есть ситуация, когда пользователь может вводить любые символы в строку запроса URL.
Пример:
http://localhost/default.aspx?ID=XXXX
http://localhost/default.aspx?ID=&XXXX
http://localhost/default.aspx?ID=#XXXX
Веб-страница должна принимать параметр ID, поскольку он не имеет значения, какие это символы.Однако определенные специальные символы, такие как амперсанд (&) и фунт (#), создают проблемы.Как я могу принять их как есть?
Это:
encodeURIComponent(uri)
Где uri - компонент после ?ID=
uri
?ID=
Если пользователь вводит строку запроса, он должен сначала правильно закодировать строку запроса.Если вы сами создаете строку запроса, например, из отправки формы, вам нужно будет использовать метод кодирования URL.
Кодируйте ваш URL HttpServerUtility.UrlEncode Method (String)
Редактировать: после вашего комментария вы хотите получить строковое значение запроса ID
ID
String id = Request.QueryString["ID"];
Используйте
userinput = escape(userinput)
, затем в PHP:
$userinput = urldecode($_GET['id'])
или в JS:
userinput = unescape(userinput)