gpt4 book ai didi

javascript - 防止跨站点脚本攻击

转载 作者:行者123 更新时间:2023-11-28 08:36:58 25 4
gpt4 key购买 nike

我有一个简单的 jsp,有 3 个输入(姓名、ID 和电子邮件)和一个表单提交。通过阅读,我的输入值似乎应该被编码。我该怎么做?谁能提供一个例子例如

 <td><input id="email" name="email" value=""/></td>
<td><input id="fullname" name="fullname" value=""/></td>
<td><input id="userId" name="userId" value=""/></td>
<input type ="submit" value ="Get User" />

电子邮件、全名和 uerId 应如何编码?我还看到过如下示例:

  String safeOutput = ESAPI.encoder().encodeForHTML( Comment)

是否应该同时对 HTML 和 Java 代码进行编码?我希望得到一些提示,因为我对此感到困惑。谢谢

最佳答案

基本上,如果有人在您的任何参数中放入任何 HTML,然后您将这些 HTML 显示在您的网站上,他们的 HTML 将被浏览器解析。他们可以使用它来搞乱您的格式,即保留 B 标记未关闭,或者他们可以放入指向另一个站点上的脚本的脚本标记。

防止这种情况的两种最基本的方法是:

  1. 检查所有用户输入数据中是否存在 < 或 >,如果包含其中任何一个,则拒绝该数据。
  2. 通过将所有 < 和 > 替换为 < 来取消用户输入的任何 HTML和>或[和]。

如果您想禁止所有 HTML,这些都可以。但是,如果您想允许用户输入一些 HTML,例如安全标签(B、I、EM、STRONG),那么您需要一个库来删除所有不在白名单上的 HTML 标签。

关于javascript - 防止跨站点脚本攻击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21005882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com