我通过AJAX请求发送以获取用户。搜索是用户在表单上输入的。发送的 url 不包含 illegar 字符。 (我知道像 ' 或 <或> 这样的字符对于电子邮件地址不正确)或>
GET http://localhost:1294/Users/GetAll?search=%27test%27%2B%3Cinfo%2540test.pl%3E
查询被编码以保护XSS,但我得到异常:
A potentially dangerous Request.QueryString value was detected
from the client (search="...test' <test@test.pl>").
我不明白为什么尽管我在 url 中编码了数据,但我会收到此异常?
您正在使用被认为有害<>
,即使它以前已经编码过。
MSDN:
当检测到任何 HTML 标记(包括无害标记,如
<b>
(粗体)元素)时,请求验证会引发此异常。