ホームページ > バックエンド開発 > PHPチュートリアル > PHPでのSQLインジェクションに関する質問

PHPでのSQLインジェクションに関する質問

WBOY
リリース: 2016-06-13 13:51:02
オリジナル
740 人が閲覧しました

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 ) . "'";
}

ログイン後にコピー
注射を防ぐにはどうすればよいですか?


-----解決策---------


PHP コード 関数セーフ($string=null) { addslashes($string) を返します。 }
------解決策---------
一般的に言えば、外部(POST、GET)で取得した整数型の値はその前に intval() を追加することで変換され、文字列型の値は mysql_real_escape_string() でフィルタリングされます。 <br><font color="#e78608">IBM の Web サイトで関連文書を推奨します。</font>PHP アプリケーションのセキュリティを確保する、違反できない 4 つのセキュリティ ルール <br><br>。
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート