我正在构建一个用于管理创意组合的MVC应用程序(将其放在git hub上)。我需要一些东西来保护数据库连接,基本上我有一个类来管理所有数据库事务。
我需要创建一个类或者找一个可以保护所有SQL查询不受XXS或SQL攻击的类。您对保护PHP数据库连接有什么建议?
答案 0 :(得分:3)
使用PDO准备好的语句访问数据库可以使查询免于注入。 http://us2.php.net/manual/en/pdo.prepare.php
使用htmlspecialchars()使输出免受xxs的影响。 http://us2.php.net/manual/en/function.htmlspecialchars.php
答案 1 :(得分:-1)
尝试使用此功能过滤POST,GET请求
function protect($string)
{
if (ini_get('magic_quotes_gpc') == 'off') // check if magic_quotes_gpc is on and if not add slashes
{
$string = addslashes($string);
}
// move html tages from inputs
$string = htmlentities($string, ENT_QUOTES);
//removing most known vulnerable words
$codes = array("script","java","applet","iframe","meta","object","html", "<", ">", ";", "'","%");
$string = str_replace($codes,"",$string);
//return clean string
return $string;
}
您可以使用array_map函数
轻松地将其应用于整个输入$input = array_map('protect','$_POST');
$input = array_map('protect','$_GET');