は、セキュリティの仕事をするために誰かを支払うと、彼らは、これは安全であると言うので、皆さんに確認したい:正直に言うとこの機能は安全ですか?
function mysql_prep($value) {
$magic_quotes_active = get_magic_quotes_gpc();
$new_enough_php = function_exists("mysql_real_escape_string");
// i.e. PHP >= v4.3.0
if($new_enough_php) { // PHP v4.3.0 or higher
// undo any magic quote effects so mysql_real_escape_string can do the work
if($magic_quotes_active) { $value = stripslashes($value); }
$value = mysql_real_escape_string($value);
} else { // before PHP v4.3.0
// if magic quotes aren't already on then add slashes manually
if(!$magic_quotes_active) { $value = addslashes($value); }
// if magic quotes are active, then the slashes already exist
}
return $value;
}
確かに*悪い*コードです。 – CodesInChaos
PHP 4.3.0をチェックする理由 - 2002-12-27にリリースされました – nickb
このコードは、あなたのスクリプトよりもDBに異なるエンコーディングを使用するとマルチバイト文字を悪用する攻撃に対して安全ではありません – knittl