php – 防止SQL注入
发布时间:2020-12-13 22:42:53 所属栏目:PHP教程 来源:网络整理
导读:我正在开发一个网站,我正在努力保护连接部分. 我在$login上使用了addslashes函数来停止SQL注入,但有些朋友告诉我安全性不够.但是,他们没有告诉我如何利用此漏洞. 我怎么能/你能破坏这段代码? 我该如何保护它? ?php if ( isset($_POST) (!empty($_POST['log
我正在开发一个网站,我正在努力保护连接部分.
我在$login上使用了addslashes函数来停止SQL注入,但有些朋友告诉我安全性不够.但是,他们没有告诉我如何利用此漏洞. 我怎么能/你能破坏这段代码? <?php if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) { extract($_POST); $sql = "SELECT pseudo,sex,city,pwd FROM auth WHERE pseudo = '".addslashes($login)."'"; $req = mysql_query($sql) or die('Erreur SQL'); if (mysql_num_rows($req) > 0) { $data = mysql_fetch_assoc($req); if ($password == $data['pwd']) { $loginOK = true; } } } ?>
您应该使用
mysql_real_escape_string在查询中转义字符串输入参数.使用类型转换来清理数字参数和白名单以清理标识符.
在引用的PHP页面中,有一个登录表单中的sql注入示例. 更好的解决方案是使用预准备语句,您可以使用PDO或mysqli来完成此操作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |