Lie*_*nau 1 php mysql sql-injection
清理可能被sqlinjected的所有数据是一个好的或愚蠢的想法吗?我写了一个应该这样做的功能,但是我从来没有看过它,并且想知道这是不是一个糟糕的主意.我写的功能:
function sanitizeData()
{
$_SERVER['HTTP_USER_AGENT'] = mysql_real_escape_string($_SERVER['HTTP_USER_AGENT']);
foreach(array_keys($_COOKIE) as $key)
{
$_COOKIE[$key] = mysql_real_escape_string($_COOKIE[$key]);
}
foreach(array_keys($_POST) as $key)
{
$_POST[$key] = mysql_real_escape_string($_POST[$key]);
}
foreach(array_keys($_GET) as $key)
{
$_GET[$key] = mysql_real_escape_string($_GET[$key]);
}
}
Run Code Online (Sandbox Code Playgroud)
一个坏主意; 这基本上是弃用的magic_quotes的另一个版本.大多数数据可能不会最终进入数据库,因此您最终会不必要地逃避,并且可能会双重逃逸.
而是根据需要使用预准备语句.看mysqli_stmt(mysqli的一部分)和PDOStatement(PDO的一部分).
| 归档时间: |
|
| 查看次数: |
403 次 |
| 最近记录: |