我目前在我的网站上有一个留言簿。这是非常基本的。最近,我一直在怀疑我目前对添加到数据库中的输入进行消毒的方法是否足够安全。下面是收集数据并对其进行消毒的当前代码片段:
$name=$_POST['name'];
$c_name=mysql_real_escape_string(htmlspecialchars($name));
$detail=mysql_real_escape_string(htmlspecialchars($_POST['detail']));
显然,我会将数据发送到服务器并将它们放置在必要的表中。这种方式是否有效,或者是否存在我应该注意的安全漏洞?谢谢!
你不应该在你发送到数据库的数据上使用htmlspecialchars()
;输出时应该只使用除此之外,我建议你阅读"让错误的代码看起来错误",这样你就可以保持你的变量的正确性。
…通过创造约定使错误在屏幕上突出来编写健壮的代码。