ホームページ > バックエンド開発 > PHPチュートリアル > PHP に関するメモ mysql_real_escape_string_PHP チュートリアル

PHP に関するメモ mysql_real_escape_string_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:33:47
オリジナル
1157 人が閲覧しました

mysql_real_escape_string() 関数は、SQL ステートメントで使用される文字列内の特殊文字をエスケープします。

次の文字が影響を受けます:

  • x00
  • r
  • '
  • x1a

成功した場合、関数はエスケープされた文字列を返します。失敗した場合は false を返します。

使用法はmysql_real_escape_string(string,connection)です

  • パラメータ文字列、必須。エスケープする文字列を指定します。
  • パラメータ接続、オプション。 MySQL 接続を指定します。指定しない場合は、以前の接続が使用されます。

この関数は文字列内の特殊文字をエスケープし、接続の現在の文字セットを考慮するため、mysql_query() で安全に使用できます。この機能を使用してデータベース攻撃を防ぎます。

mysql_real_escape_string()の簡単な使い方

リーリー

SQLインジェクション状況(mysql_real_escape_string()は使用しません)

データベース攻撃。この例は、mysql_real_escape_string() 関数をユーザー名とパスワードに適用しない場合に何が起こるかを示しています:

リーリー

その後、SQL クエリは次のようになります:

リーリー

これは、有効なパスワードを入力しなくても、どのユーザーもログインできることを意味します。

データベース攻撃を防ぐための正しい方法:

リーリー

いくつかの経験

mysql_escape_string() にも同様の効果があります。これら 2 つの関数については、mysql_real_escape_string() 関数を使用していたとき、プログラムが常にエラーを起こしていたことを覚えています。その後、エラーの原因がわかりませんでしたが、その後、mysql_escape_string() 関数に変更したところ、正常に動作しました。マニュアルを検索すると、mysql_real_escape_string() を使用する場合は、最初にデータベース接続を確立する必要があり、確立しないとエラーが報告されることがわかりました -___-|||

mysql_real_escape_string() は、MySQL のライブラリ関数 mysql_escape_string を呼び出します。この関数は、次の文字の先頭にバックスラッシュを追加します: NULL、x00、n、r、、'、"、および x1a

mysql_escape_string() は % と _ をエスケープしません。

この関数は、mysql_real_escape_string() が接続ハンドラーを受け取り、現在の文字セットに従って文字列をエスケープすることを除いて、mysql_real_escape_string() と同じです。 れーれー

http://www.bkjia.com/PHPjc/752406.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/752406.html技術記事 mysql_real_escape_string() 関数は、SQL ステートメントで使用される文字列内の特殊文字をエスケープします。 次の文字が影響を受けます: x00 n r ' x1a 成功すると、関数はエスケープされた文字を返します...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート