gpt4 book ai didi

java - 在 OWASP 编码器中允许 '/' 通过使用 encodeForHTML 方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:49:05 25 4
gpt4 key购买 nike

我需要清理 Http 参数值以防止 xss 攻击。我正在使用下面的 owasp jar 。esapi-2.1.0.1.jar

我有参数日期,其中包含以“/”分隔的值。date=20/10/2017

这是我用来对值进行编码的代码段。

import org.owasp.esapi.ESAPI;
import org.owasp.esapi.Encoder;

String s = "20/10/2017";
String ts = encoder.encodeForHTML(s);
System.out.println(ts);

它正在打印 20/10/2017 但我需要允许 '/' 并且值应该像 20/10/2017

我查看了源代码,有一些允许的字符,并在最终数组中声明。

private final static char[]     IMMUNE_HTML = { ',', '.', '-', '_', ' ' };

我找不到绕过'/'的方法

最佳答案

如果你想在不使用任何编码器jar的情况下完美防止xss,将输入字符串转换为 Date 数据类型的 java 对象,然后再次将其转换回字符串,如果您确实需要字符串形式的输出。

如果你真的想使用encoder jar,使用任何不编码“/”的简单方法,如 Encode.forHtml(str)。

关于java - 在 OWASP 编码器中允许 '/' 通过使用 encodeForHTML 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46953935/

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