最近,我在一些客户的网站上进行了审计。他们回来的一件事是,我可以更好地清理输入数据,因为人们仍然可能对数据库造成潜在的伤害。我还应该做些什么来消毒用户输入?
下面的函数是我正在使用的(旧开发人员的剩余部分),但是我看不到潜在问题可能在哪里。
传递到数据库的字符串将通过XML显示,然后由Flash应用程序读取。
有谁能告诉我我可能会错过什么吗?谢谢
function secure_string($string)
{
return (strip_tags(addslashes(mysql_real_escape_string(
stripslashes($string)))));
}
显示你所需要的是字符串,而不是当前的功能。保护取决于你想要防范的事情。 – scragar 2009-10-29 10:01:48
@scragar,MySQL注入。至少他说客户说:“对数据库有潜在危害”。 – Frankie 2009-10-29 10:07:42
我不会做PHP(不再),但是,诚实地说,在一个链中调用'addslashes'和'stripslashes'确实给我的眼睛带来了一滴眼泪。 – shylent 2009-10-29 10:44:30