#ログイン中にユーザーが入力した内容を信じないでください。ユーザーの入力は処理する必要があります。
SQL インジェクション: (推奨される学習: PHP プログラミングの入門から習熟まで )
' or 1=1 #
SQL インジェクションを防ぐためのいくつかの関数:
addslashes( $ string): バックスラッシュを使用して文字列 ' " \
$username=addslashes($username);
mysql_escape_string($string): バックスラッシュを使用して文字列内の文字をエスケープします で使用される特殊文字
$username=mysql_escape_string($username);
mysql_real_escape_string($string): SQL ステートメントで使用される文字列内の特殊文字をエスケープするには、接続セットの現在の文字を考慮して、次のことを確認する必要があります。この関数を使用する前に現在の接続状態を使用できます。そうでない場合は、警告が報告されます。% と __
$username=mysql_real_escape_string($username);
をエスケープしないでください。例:
<?php $clean = array(); $mysql = array(); $clean['last_name'] = "O'Reilly"; $mysql['last_name'] = mysql_real_escape_string($clean['last_name']); $sql = "INSERT INTO user (last_name) VALUES ('{$mysql['last_name']}')"; ?>
以上がphp のどの関数が SQL インジェクションを防ぐことができますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。