清理输入$ _POST

时间:2016-08-11 09:00:16

标签: php

可悲的是,我的学生网站被黑了。有人插入script tag并存储在数据库中。数据库也发布在一个网站调用pastebin。我刚拿下网站。有人可以告诉我如何快速解决这个问题。

2 个答案:

答案 0 :(得分:1)

在将任何值插入数据库之前,您可以使用strip_tags()从字符串中删除任何HTML或PHP标记。

这是您从字符串中删除HTML和PHP标记的方法,

$code=strip_tags($code);

将它用于要插入数据库的每个变量。

$code=strip_tags($code);
$fn=strip_tags($fn);
$em=strip_tags($em);
$un=strip_tags($un);
$hash=strip_tags($hash);
$salt=strip_tags($salt);
$ip=strip_tags($ip);
$this->db1->query("INSERT INTO users SET code='" . $code . "', firstname='" . $fn . "', email='" . $em . "', username='" . $un . "', password='" . $hash . "', salt='" . $salt . "', registerdate='" . time() . "', ipregister='" . $ip . "'");

虽然 strip_tags()并不能完全阻止SQL注入。你应该更好地使用准备好的陈述。

参考:http://php.net/manual/en/mysqli.quickstart.prepared-statements.php

答案 1 :(得分:1)