php での SQL インジェクションの問題について
私は自分で小さなフォーラムを作成しましたが、それがインジェクションできることを偶然発見しました。例: http://localhost/BBS/detail.php?articalID=4
目的は次のとおりです: 記事 ID 4 の投稿の場合、最後に次の文を追加してカバーします: http://localhost/BBS/detail.php?articalID=4 または 1=1 が返されます。すべての投稿が表示され、インターネットで次のような関数を見つけました。その結果、カスタム関数を使用した後にエラーが報告されました。 MySQL_real_escape_string の詳しい使い方を教えてください。
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->function safe($string) { return "'" . MySQL_real_escape_string( $string ) . "'"; }
一般的に言えば、外部(POST、GET)で取得した整数型の値はその前に intval() を追加することで変換され、文字列型の値は mysql_real_escape_string() でフィルタリングされます。 <br><font color="#e78608">IBM の Web サイトで関連文書を推奨します。</font>PHP アプリケーションのセキュリティを確保する、違反できない 4 つのセキュリティ ルール <br><br>。