ESAPI.properties 中的最低要求属性
Minimum required properties in ESAPI.properties
我的网络应用程序仅使用以下 ESAPI 编码方法:
ESAPI.encoder().encodeForLDAP()
ESAPI.encoder().encodeForHTML()
在这种情况下,ESAPI.properties 中的最低要求属性是什么?
现在我正在使用 ESAPI 2.1.0.1 和 this properties。
我想我回答了上一个问题。
在 2009 年至 2011 年 ESAPI 项目开始时,您再次成为一些错误设计选择的受害者。即,基于 Singleton 的单体。
ESAPI 目前的设计是单一的,这意味着它试图成为每个人的一切。如您所知,这不是最好的设计策略,但这就是我们所处的位置。
我们有几个建议将各种功能分解到单独的库中,但这是构建 ESAPI 3.0 的未来工作。
对于您当前的困境,库中有太多依赖于听起来您不需要也不打算使用的功能。不幸的是,这只是当前的生活事实。似乎从来没有人使用过我们的身份验证界面——但它对每个人都适用,即使他们不需要它。大多数用户首先使用我们的 encoding/decoding 功能,然后是验证 API,然后是加密。最后一对是日志注入和 WAF。
大多数 ESAPI 用户使用非产品测试文件,并保留它。 (这是一个真的坏主意。)
其他人采用您引用的方式处理例外情况,在邮件列表中向我们提问。
这也不是理想的步行路径,但这是我们现在所走的路径。
从我的角度来看,危险在于,如果您选择为 ESAPI 抛出异常的对象实施快乐路径配置,目的只是让它快乐,这样您就可以得到您的两个狭窄的用例。
然后您获得晋升,您应用的另一位开发人员面临她认为已解决的问题,因为您处理了与 ESAPI 的所有集成。
注意 ESAPI 中与您的用例无关的部分。这并不理想,但它是我们在 2017 年所处的位置。在用户列表上向我们提问。
如果不这样做——尤其是在加密部分,将使您的应用程序在未来容易受到攻击。
如果您只是使用 encoder() 函数,编码器部分的 3 行代码就足够了。第 99-119 行(所有注释之间)。
编辑
另外,您必须指定一个默认编码器。示例:
ESAPI.Encoder=org.owasp.esapi.reference.DefaultEncoder
Encoder.AllowMultipleEncoding=false
Encoder.AllowMixedEncoding=false
Encoder.DefaultCodecList=HTMLEntityCodec,PercentCodec,JavaScriptCodec
我的网络应用程序仅使用以下 ESAPI 编码方法:
ESAPI.encoder().encodeForLDAP()
ESAPI.encoder().encodeForHTML()
在这种情况下,ESAPI.properties 中的最低要求属性是什么?
现在我正在使用 ESAPI 2.1.0.1 和 this properties。
我想我回答了上一个问题。
在 2009 年至 2011 年 ESAPI 项目开始时,您再次成为一些错误设计选择的受害者。即,基于 Singleton 的单体。
ESAPI 目前的设计是单一的,这意味着它试图成为每个人的一切。如您所知,这不是最好的设计策略,但这就是我们所处的位置。
我们有几个建议将各种功能分解到单独的库中,但这是构建 ESAPI 3.0 的未来工作。
对于您当前的困境,库中有太多依赖于听起来您不需要也不打算使用的功能。不幸的是,这只是当前的生活事实。似乎从来没有人使用过我们的身份验证界面——但它对每个人都适用,即使他们不需要它。大多数用户首先使用我们的 encoding/decoding 功能,然后是验证 API,然后是加密。最后一对是日志注入和 WAF。
大多数 ESAPI 用户使用非产品测试文件,并保留它。 (这是一个真的坏主意。)
其他人采用您引用的方式处理例外情况,在邮件列表中向我们提问。
这也不是理想的步行路径,但这是我们现在所走的路径。
从我的角度来看,危险在于,如果您选择为 ESAPI 抛出异常的对象实施快乐路径配置,目的只是让它快乐,这样您就可以得到您的两个狭窄的用例。
然后您获得晋升,您应用的另一位开发人员面临她认为已解决的问题,因为您处理了与 ESAPI 的所有集成。
注意 ESAPI 中与您的用例无关的部分。这并不理想,但它是我们在 2017 年所处的位置。在用户列表上向我们提问。
如果不这样做——尤其是在加密部分,将使您的应用程序在未来容易受到攻击。
如果您只是使用 encoder() 函数,编码器部分的 3 行代码就足够了。第 99-119 行(所有注释之间)。
编辑 另外,您必须指定一个默认编码器。示例:
ESAPI.Encoder=org.owasp.esapi.reference.DefaultEncoder
Encoder.AllowMultipleEncoding=false
Encoder.AllowMixedEncoding=false
Encoder.DefaultCodecList=HTMLEntityCodec,PercentCodec,JavaScriptCodec