0

我在 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 中是允许的。什么会导致浏览器将其更改为 an&并删除剩余的字符?

4

1 回答 1

1

检查您指向该页面的链接是否未在任何地方进行 HtmlEncoded。如果是, $ 将被错误地编码为&dollar,这是 Html 编码的版本。

建议:

  1. 检查引荐来源网页是什么
  2. 查看引用页面的来源,检查 HTML
  3. 您可能会发现它被错误编码

请注意,当您指的是 UrlEncode 时,HtmlEncode 也很容易,它会根据目标使用稍微改变输出:Url Encode 和 HTML 编码之间的区别

我希望这会有所帮助。

于 2017-08-11T04:48:46.210 回答