我正在使用 JSP 一段时间。我有这个选择语句:
query = "SELECT * FROM USER_PASS WHERE USERNAME = '" + name + "'";
哪个容易受到 SQL 注入的影响。查了几篇文章,发现可以使用prepared statements来避免SQL注入。我觉得更混乱。我的意见是,如果我可以找到诸如;
,'
或--
用户提供的输入之类的输入,那么我可以向他们显示一条警告消息,说明您不能在此处使用这些符号,并且我不会处理数据。这可能是我的 JavaScript 代码:
function validateSQL()
{
var x=document.forms["myForm"]["username"].value;
var pos = 0;
pos=x.indexOf("'");
if (pos!=0)
{
alert("Trying to hack me?");
return false;
}
}
哪个更好用?这有什么缺点吗?