我在URL中有一个美元符号,当我点击链接时可以工作,如下所示:
www.mysite.com/articles/a-url-with-a-$-symbol
但是,Raygun显示某些用户收到此页面的错误,$
替换为&
:
Message: A potentially dangerous Request.Path value was detected from the client (&).
URL: www.mysite.com/articles/a-url-with-a-&
报告的浏览器包括Chrome,Firefox,IE和Safari。
我知道$
是一个保留的记录器,但它在 URL 中是允许的。什么会导致浏览器将其更改为&
并去除剩余字符?
检查指向该页面的链接是否未在任何地方进行 Html 编码。如果是,$ 将被错误地编码为&dollar,这是 HTML 编码的版本。
建议:
- 检查引荐来源网址页面是什么
- 查看引用页面的源代码,检查 HTML
- 您可能会发现它被错误编码
请注意,当您打算使用UrlEncode时,也很容易进行HtmlEncode,这会根据目标用途稍微改变输出: Url Encode和HTML编码之间的区别
我希望这有所帮助。