这是在PHP中构建mysql_query的安全方法吗?

我试过通过在firefox之外向服务器进行自定义查询来尝试实现SQL注入.

在php中,所有变量都以这样的字符串传递给查询.

请注意,在此阶段,$_POST尚未触及.

mysql_query('INSERT INTO users (password,username) VALUES(' . sha1($_POST['password']) . ',' . $_POST['username'] . '));

这是一种安全的改变方式吗?
最佳答案
你绝对应该用mysql_real_escape_string来逃避用户名.

当然,最好的解决方案是使用准备好的语句.这样,查询语法和数据的分离就在mysql API级别上进行.

而且,正如其他人所指出的那样,价值观绝对应该用引号括起来.尤其是文字.

相关文章

发表回复

您的电子邮箱地址不会被公开。