如何实现Java ESAPI来防止XSS?

时间:2014-01-07 14:43:11

标签: java xss esapi

我已经阅读了很多帖子 Validator &< strong> XSS 可以用 XAP 来阻止 XSS ;的 Encoder 即可。顺便说一下,我正在使用Eclipse。我不是在使用Maven也不是Spring。

我的问题是:

  1. 如何实施Java ESAPI以防止XSS?
  2. 除了在构建路径中添加ESAPI jar之外还需要其他配置吗?
  3. 提前感谢您的回答。

1 个答案:

答案 0 :(得分:2)

防止XSS有一些技巧。 Validator允许您定义接受/拒绝的输入字符。但是也存在不同上下文的概念,而这就是Encoder类的用武之地。在你的职业生涯中,你将被迫接受角色作为可用于攻击浏览器的输入。

基本的ESAPI实现是这样的:拒绝输入字符根据白名单。根据输出上下文使用编码器实现......在做出“我首先编码HTML,还是首先编写Javascript”的决策时,技巧部分会出现?其中任何一个都会对您的应用程序产生影响,他们需要根据您的应用程序的需要决定。我有一些应用程序需要用户输入有效的Javascript ...例如,在这些情况下,您需要非常小心。

回答你的第2部分:是的。您可能知道ESAPI,需要定义两个属性文件... validation.properties和esapi.properties。您可以自己将它们编译到jarfile中(这需要您学习maven,因此可能不需要...)或者在运行时指定java位置,使用标准的-Dmy.property语法。加载异常实际上会引导您走向正确的路径。