ptm*_*.io 4 php mysql sql sql-injection sanitize
我现在很困惑,想知道,如果你能为我清理一下.
在lateste Anon/Lulsec攻击之后,我正在质疑我的php/mysql安全性.
所以,我想,我怎么能保护PHP和Mysql.
问题:有人可以解释一下,在引用时处理PHP和Mysql 的最佳做法是什么?
目前我正在使用以下功能.该函数"清理"所有$ _POST和$ _GET变量.这"安全"吗?
function sanitize_post($array) {
global $db;
if(is_array($array)) {
foreach($array as $key=>$value) {
if(is_array($array[$key])) {
$array[$key] = sanitize_post($array[$key]);
} elseif(is_string($array[$key])) {
$array[$key] = $db->real_escape_string(strtr(stripslashes(trim($array[$key])), array("'" => '', '"' => '')));
}
}
} elseif(is_string($array)) {
$array = $db->real_escape_string(strtr(stripslashes(trim($array)), array("'" => '', '"' => '')));
}
return $array;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用PHP 5.3.5和Mysql 5.1.54.
谢谢.
mysql_real_escape_string值得你的关注.
然而,直接查询是一个泥潭,不再被视为安全的做法.您应该阅读PDO准备好的语句和绑定参数,这些参数具有引用,转义等内置的附带好处.