Java Servlet中的安全doGet参数

Java Servlet中的安全doGet参数,java,php,jakarta-ee,servlets,Java,Php,Jakarta Ee,Servlets,我正在做一个简单的注册表单,我需要在url中传递一些参数,但是我担心java中的安全性。在我以前使用的PHP中 mysql_escape_string 以确保没有特殊字符传递给变量。但是我不确定Java是否需要这样做 问题是:直接使用request.getAttribute(arg0)安全吗?还是需要使用某种特殊方法来保护它?中有这个问题的答案 我认为最好的方法不是将命令编码为字符串,而是使用PreparedStatements并使用其方法(如SetInteger、SetBoolean等)设置

我正在做一个简单的注册表单,我需要在url中传递一些参数,但是我担心java中的安全性。在我以前使用的PHP中

mysql_escape_string
以确保没有特殊字符传递给变量。但是我不确定Java是否需要这样做


问题是:直接使用request.getAttribute(arg0)安全吗?还是需要使用某种特殊方法来保护它?

中有这个问题的答案


我认为最好的方法不是将命令编码为字符串,而是使用PreparedStatements并使用其方法(如SetInteger、SetBoolean等)设置参数。

好的,谢谢。我会这么做的,只是我想确保我们不会因为我做的蠢事而被黑客攻击。准备好的声明而不是逃跑确实是一条路。这也适用于PHP btw(mysqli和PDO支持它们)。我还发现这个类用于转义字符串。它是一个有趣的类,但我相信它在做与PreparedStatements相同的事情方面有很大的进步,它的方法做得更好。在我从事开发工作的这些年里,我学到了一件事,那就是重新发明轮子通常会导致轮子更差