gpt4 book ai didi

java - 允许某些字符不受 ESAPI 编码器的影响吗?

转载 作者:行者123 更新时间:2023-12-02 10:33:59 24 4
gpt4 key购买 nike

我正在尝试将 ESAPI 编码器与我的 JavaEE 应用程序合并,并希望它不对特定字符集进行编码,例如“<”、“!”、“(”、“)”。

我阅读了文档 https://static.javadoc.io/org.owasp.esapi/esapi/2.0.1/org/owasp/esapi/Encoder.html “除了特定的“免疫”字符列表之外,所有字符都应该被编码”。

我想知道在哪里以及如何配置这个特定的“免疫”字符列表。它会在 ESAPI.properties 文件中吗?

最佳答案

简单的答案是,你不能。或者至少不容易。您可以通过更改 ESAPI.properties 中的行来实现此目的:

ESAPI.Encoder=org.owasp.esapi.reference.DefaultEncoder

类似于

ESAPI.Encoder=com.MyCompany.myApp.MyEncoder

然后在 MyEncoder.java 中,用您自己的变量替换 ESAPI 的各种 IMMUNE_* 变量的一个或多个初始化。屁股,这是唯一的方法。没有方法或属性可以重新定义它,因为在一般情况下,您永远不应该这样做。 (有一个[糟糕的,IMO]设计决策,使所有 ESAPI 的引用实现成为单例,因此向 DefaultEncoder 类提供这样一个方法,我会为类的所有实例更改它,这看起来太危险了。)

因此,我不应该像我那样回答您的问题,而应该问您为什么您希望这样做? IMMUNE_CSS 编解码器最近添加了“#”(目前仅在 GitHub 上的“开发”分支中),但即便如此,也是在现任和前任 OWASP 项目负责人进行广泛讨论的情况下才完成的。免疫列表是明智选择的,在所有已知情况下都是“安全的”。 then 不适用于仅某些已知安全的边缘情况。这就是为什么我要问“为什么你想要这样做?你具体想要实现什么目标?”因为可能有更好的方法来完成您正在尝试做的事情。

关于java - 允许某些字符不受 ESAPI 编码器的影响吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53435475/

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