我是一名Java开发人员,在通向API的道路上前进,我偶然发现了OWASP组织及其配套的Java,ESAPI。
在我几个月前在这个网站上提出的另一个问题中,有人向我指出,ESAPI是开源应用sec行业的主要参与者。
我现在想知道的是,我确信ESAPI与内置的Java安全模型(植根于javax.security.auth)在身份验证/授权领域,也许在其他领域存在重叠。,但是,如果严格遵守Java,那么ESAPI显然解决不了的应用程序秒方面的问题吗?
基本上,如果现有的Java已经涵盖了ESAPI的所有优点/特性,那么学习ESAPI是否有意义。提前感谢!
发布于 2012-01-11 18:48:03
AFAIK,ESAPI还使用了java,并添加了特定于实际世界威胁的包装器。例如,WAF (web应用程序防火墙),为了使用Java实现这一点,您将结束编写大量代码,这是由ESAPI完成的,并且很好地封装为API,因此,如果您想要执行WAF检查,可以使用- in几个方法调用来实现它。
简单地说,ESAPI类似于包装器库(内置的java ),它减少了再次发明轮子,并帮助对抗现实世界的安全威胁。
如果您看到这个ESAPI API URL,您可以很容易地识别ESAPI是如何开发API来对抗每一个可能的威胁的。
发布于 2012-11-15 03:45:41
ESAPI的一个关键优点/优点是它的输入验证和输出清理功能,AFAIK,Java安全类目前没有解决这些问题。ESAPI专门针对web应用程序安全域,这是它的优势所在。
发布于 2012-01-11 18:53:01
作为一名.NET开发人员,我对Java和ESAPI只有短暂的熟悉。然而,作为一个狂躁偏执的开发人员,专注于编写安全代码(因为我编写了一些非常糟糕的东西),这是我所看到的。
在我看来,这是绝对值得学习的。在没有这些包的情况下编写好代码是绝对可能的,但是使用这些包可以使编写好的代码更容易。
在.NET方面,我们有一些类似的东西--微软模式和实践库。据我所知,Java具有类似的目的,即:
它提供了一组易于使用的方法,已经在幕后中使用了最佳实践,这样您就不用担心它了。
例如(这只是编写安全应用程序所需的一小部分),使用ADO.NET和Java,通过将用户输入内容包含到字符串(bad)中,编写SQL语句非常容易,而且使用参数化查询(很好)也同样容易。通过使用API,公开了使用良好模式的方法。让新开发人员加快开发速度,确保您不会“草率”,同时使您能够编写更少的代码,这样会更容易。
https://stackoverflow.com/questions/8824693
复制相似问题