私は今かなり混乱しています。もしあなたが私のために物事を片付けてくれるなら、知りたいです.
最新の Anon/Lulsec 攻撃の後、私は自分の php/mysql セキュリティに疑問を抱いていました。
そこで、PHP と Mysql の両方を保護するにはどうすればよいかを考えました。
質問:引用符に関して、PHP と Mysql を処理するためのベスト プラクティスは何ですか?
- 特にフォームでは、html を保護するためにある種の htmlspecialchars が必要ですよね?
- PHPはフォームでまったく悪用できますか? 必要な保護はありますか?
- クエリの直前にreal_escape_string を使用する必要がありますか? PHP内ですでに使用するのは間違っている/悪いでしょうか(sanitize_post関数を参照)?
現在、私は次の機能を使用しています。この関数は、すべての $_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;
}
MySQL 5.1.54 で PHP 5.3.5 を使用しています。
ありがとう。