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

我试过通过在firefox之外向服务器进行自定义查询来尝试实现SQL注入. 在php中,所有变量都以这样的字符串传递给查询. 请注意,在此阶段,$_POST尚未触及. mysql_query(‘INSERT INTO users (password,username) VALUES(‘ . sha1($_POST[‘password’]) . ‘,’ . $_

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

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

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

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

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

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

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

关于作者: dawei

【声明】:石家庄站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐