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