我目前在我的网站上有一本留言簿。这是非常基本的。最近,我一直在怀疑我当前消毒添加到数据库的输入的方法是否足够安全。以下是收集数据并对其进行清理的代码片段:
$name=$_POST['name'];
$c_name=mysql_real_escape_string(htmlspecialchars($name));
$detail=mysql_real_escape_string(htmlspecialchars($_POST['detail']));
然后显然我会将数据发送到服务器并将它们放在必要的表中。这种方式有效还是我应该注意哪些安全漏洞?谢谢!
答案 0 :(得分:4)
您永远不应对要发送到数据库的数据使用htmlspecialchars()
;它应仅用于输出。除此之外,我建议你阅读"Making Wrong Code Look Wrong",这样你就可以保持你的变量。
...通过字面上发明约定制作健壮的代码,使错误在屏幕上脱颖而出。