【问题标题】:How can i block script injection in textbox or textarea using jquery or javascript?如何使用 jquery 或 javascript 在文本框或文本区域中阻止脚本注入?
【发布时间】:2012-05-07 06:39:05
【问题描述】:

我有一个包含文本框和文本区域的表单。我想验证它以停止使用文本框或文本区域注入脚本。我需要使用 jquery 或 javascript 来完成。

是否有任何可用的 RegEx 或任何其他方式来检测和停止脚本。

【问题讨论】:

  • 您应该考虑的第一件事是如何在服务器上验证这一点。因为无论您使用 javascript 在客户端上进行什么验证,任何用户都可以简单地禁用他的 javascript 或制作 HTTP 请求并将他喜欢的任何输入发送到服务器。一旦您确保在服务器上执行了正确的验证,您就可以考虑一些 javascript 验证以避免浪费带宽并改善用户体验。请记住,客户端验证并不是真正的验证。
  • 您可以使用 [this SO thread][1] [1] 中提到的 HttpUtility.HtmlEncode:stackoverflow.com/questions/4281746/…

标签: javascript jquery


【解决方案1】:

如果您只是将其保存在数据库中,则无需执行任何操作。如果要打印 HTML 页面中的值,请先对其进行 HTML 编码。无需验证。

【讨论】:

    【解决方案2】:

    Take a look at ReForm by OWASP::

    改革正是这样做的工具。改革允许您为 javascript、xml、html 或 vbscript(是的,它仍然存在)上下文转义数据。它为 Java、.NET、PHP、Perl、Python、Javascript 和 ASP 提供库。

    其次,您还必须在服务器端级别进行验证。 JavaScript 可以很容易地在浏览器中被禁用。

    【讨论】:

      猜你喜欢
      • 2011-09-04
      • 1970-01-01
      • 1970-01-01
      • 2020-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-15
      相关资源
      最近更新 更多