Невозможно передать '<' в URL как параметр
Почему я не могу передать символ "<" в качестве параметра в URL? Если я сделаю:
http://localhost:9566/?myVar=2
все в порядке
Но я не могу сделать:
http://localhost:9566/?myVar=<foo>
Почему это дает мне ошибку?
Когда я URL-кодировать <foo>
я получил %3Cfoo%3E
,
И когда я делаю http://localhost:9566/?myVar=%3Cfoo%3E
Я все еще получаю ту же ошибку:
1 ответ
Решение
Это по замыслу. Символы, которые вы пытаетесь передать, могут потенциально использоваться для атаки межсайтового скриптинга (XSS).
Вот несколько ссылок, которые помогут вам понять, что такое XSS:
- https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29
- http://www.cgisecurity.com/xss-faq.html
Хотя вы можете отключить этот тип проверки, я бы не рекомендовал это делать. Вы действительно должны передать тег в параметре строки запроса?