我已经阅读了很多帖子 Validator &< strong> XSS 可以用 XAP 来阻止 XSS ;的 Encoder 即可。顺便说一下,我正在使用Eclipse。我不是在使用Maven也不是Spring。
我的问题是:
提前感谢您的回答。
答案 0 :(得分:2)
防止XSS有一些技巧。 Validator允许您定义接受/拒绝的输入字符。但是也存在不同上下文的概念,而这就是Encoder类的用武之地。在你的职业生涯中,你将被迫接受角色作为可用于攻击浏览器的输入。
基本的ESAPI实现是这样的:拒绝输入字符根据白名单。根据输出上下文使用编码器实现......在做出“我首先编码HTML,还是首先编写Javascript”的决策时,技巧部分会出现?其中任何一个都会对您的应用程序产生影响,他们需要根据您的应用程序的需要决定。我有一些应用程序需要用户输入有效的Javascript ...例如,在这些情况下,您需要非常小心。
回答你的第2部分:是的。您可能知道ESAPI,需要定义两个属性文件... validation.properties和esapi.properties。您可以自己将它们编译到jarfile中(这需要您学习maven,因此可能不需要...)或者在运行时指定java位置,使用标准的-Dmy.property语法。加载异常实际上会引导您走向正确的路径。