以前、プログラマーの 1 人と話をしていたところ、彼は検討中のコードを見せてくれました。
foreach($_REQUEST as $var=>$val) {
$$var = addslashes($val);
}
$varName
彼は書く代わりに使えるようにしたかった$_REQUEST['varName']
mysql_real_escape_string
私は彼に、代わりにを使用し、変数をローカル スタックにaddSlashes
置かないようにアドバイスしました。私には、古いディレクティブが抱えてい$_REQUEST
たのと同じ問題のように思えます。REGISTER_GLOBALS
彼は、これらの変数はすべてローカル スタック上で作成されているため、同じセキュリティ リスクはないと述べました。だから私は確信が持てず、次のPHP変数変数ページをチェックアウトしました:http://www.php.net/manual/en/language.variables.variable.phpしかし、警告ボックス以外にスーパーグローバルとセキュリティへの参照は見られませんでした.
ハッカーはその構造を簡単に利用できますか?