gpt4 book ai didi

java - 如何处理请求参数中的 Json 和 HTML santization?

转载 作者:行者123 更新时间:2023-12-02 03:06:09 27 4
gpt4 key购买 nike

如何正确编码查询参数。我通过 Anti Samy 传递数据,由 Anti Samy 进行清理。接下来,我需要传递清理后的字符串 unescapeHtml4 方法。因为有时我有 Json 作为我的请求参数(参见下面的示例 1)。

目前,我的代码如下:

  String str = StringEscapeUtils.unescapeXml(xml);
ClearResult cr = antiSamy.scan(str);
String cleanStr = cr.getCleanHTML();
String s = StringEscapeUtils.unescapeHtml4(cleanStr);

示例1:Json作为请求:

如果我删除第 4 行,我最终会得到 {" name ": " Mav "}

示例 2:以下脚本的转义结果:< script >alert("hi") < script >

如果我保留第 4 行,我就很容易受到 XSS 攻击。

如何解决这个问题?我想同时处理 JSON 和 HTML 请求参数。任何帮助将不胜感激。

最佳答案

根据参数应具有的内容/您计划对数据执行的操作来处理参数。

当参数包含要解码的 json 时,请勿对其使用 antisamy。

当参数包含要输出为 html 的文本时,请对其使用 antisamy。

当参数包含的 json 本身包含一些您将输出为 html 的值时,请首先将该参数解码为 json,然后对您计划输出为 html 的 json 中的各个值使用 antisamy。

Antisamy 有一个特殊的目的。处理您希望允许包含 HTML 标签的文本。不要对任何其他数据使用反同性。相反,请确保在输出从用户接收到的任何文本(您不明确希望允许包含 HTML 标记)期间对 html 语法进行转义。

关于java - 如何处理请求参数中的 Json 和 HTML santization?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41710232/

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