针对潜在危险请求的JavaScript编码

JavaScript encoding for potentially dangerous requests

本文关键字:JavaScript 编码 请求 危险      更新时间:2023-09-26

因此,我在不同的上下文中多次遇到无处不在的ASP.NET"潜在危险请求"问题。在使用CKEditor时,我使用了将"htmlEncodeOutput"选项设置为true的一般建议,成功地击败了它。在其他情况下,我使用了另一个广泛给出的建议,将页面验证恢复到旧版本,这基本上是告诉服务器忽略通过的HTML。好吧。

但我一直没能弄清楚的是如何自己对文本进行编码(并保持验证)。在黑暗中,我尝试了JavaScript escape()和encodeURI()函数,以及一个将括号变成>以及<。这些似乎都不起作用。在最近的一次尝试中,我使用"HttpUtility.HtmlEncode"对文本服务器大小进行了编码,将其发送到浏览器,并尝试将其发送回。弹出"潜在危险的请求"。

是否有任何JavaScript函数的工作示例可以发挥CKEditor"htmlEncodeOutput"函数的神奇作用?如果有任何提示,我将不胜感激。

function htmlEncode(s) {
  return s.replace(/&/g, '&amp;').replace(/</g, '&lt;')
      .replace(/>/g, '&gt;').replace(/"/g, '&quot');
}