これは、addlashes と mysql_real_escape_string の違いをよく説明していますが、多くの国内の PHP プログラマーは依然として SQL インジェクションを防ぐために addlashes に依存していますが (私も含めて)、私は依然として中国語での SQL インジェクションを防ぐためのチェックを強化することをお勧めします。 addslashes の問題は、ハッカーが 0xbf27 を使用して一重引用符を置き換えることができるのに対し、addslashes は 0xbf27 を 0xbf5c27 に変更するだけで、有効なマルチバイト文字になる 0xbf5c は依然として一重引用符とみなされ、そのため addslashes は正常にインターセプトできないことです。
もちろん、addslashes は、マルチバイト文字の処理に使用されます。mysql_real_escape_string を使用します。
さらに、PHP マニュアルの get_magic_quotes_gpc の例:
コードをコピーします コードは次のとおりです:
if (!get_magic_quotes_gpc()) {
$lastname =addslashes($_POST[' lastname']);
} else {
$lastname = $_POST['lastname'];