如何防止URL在Java中包含%0A%0D,以减轻XSS攻击?

如何防止URL在Java中包含%0A%0D,以减轻XSS攻击?,java,servlets,xss,Java,Servlets,Xss,我的URL如下所示: http://example.com/value=S%0a%0d“>为了防止XSS,我建议您不要像在示例代码段中使用的那样逐个字符替换。您肯定会忘记要替换的字符列表中的某些内容,并且您的应用程序可能会继续受到攻击 相反,我建议使用: 我不能使用第三方库。还有其他解决方案吗?上面提到的项目是开源的。如果你不想直接使用它,你可以参考代码并复制/复制你喜欢的代码。源代码:总之,正确的方法是对所有字符进行适当编码,而不是让代码重复鞋带不安全。 String Value=reques

我的URL如下所示:

http://example.com/value=S%0a%0d“>为了防止XSS,我建议您不要像在示例代码段中使用的那样逐个字符替换。您肯定会忘记要替换的字符列表中的某些内容,并且您的应用程序可能会继续受到攻击

相反,我建议使用:

我不能使用第三方库。还有其他解决方案吗?上面提到的项目是开源的。如果你不想直接使用它,你可以参考代码并复制/复制你喜欢的代码。源代码:总之,正确的方法是对所有字符进行适当编码,而不是让代码重复鞋带不安全。
String Value=request.getParameter("value");

System.out.print("URL :"+Value);
URL :S

"><'script>alert(0)<'/script'>%20
Value = value.replace('\n', ' ');
Value = value.replace('\r', ' ');
Value = value.replace("\n", "");
value = value.replace("\r", "");
value = value.replaceAll("0A", "");
value = value.replaceAll("0D", "");
value = value.replaceAll("%0A", "");
value = value.replaceAll("%0D", "");
value = value.replaceAll("%0A%0D", "");