php mysql エスケープ関数には、1.addlashes 関数、2.htmlspecialchars 関数、3.htmlentities 関数、4.mysql_real_escape_string 関数などが含まれます。
この記事の動作環境: Windows7 システム、PHP7.1 バージョン、Dell G3 コンピューター
php mysqlエスケープ関数とは何ですか?
php mysql エスケープ関数
SQL クエリ ガジェットを開発しているとき、データをクエリする SQL ステートメントを送信するときに POST が発生しました。端末が < または > を含む SQL ステートメントを受信すると、構文エラーが報告されます。
しかし、提出された明細書を印刷すれば問題ありません。考えてみてください。それはエンコードまたはエスケープの問題に違いありません。
$sqlQuery = html_entity_decode($_POST["content"]); $sqlQuery = stripslashes($sqlQuery);[object Object]
以下では、主に PHP でよく使われるエスケープ関数とセキュリティ関数を紹介します。これらの関数を使用すると、SQL インジェクションなどの最も一般的な攻撃手法をフィルタリングできます。必要な友人は参照してください
# 1.addlashes addlashes は、(')、(")、()、(NUL) などの SQL ステートメント内の特殊文字をエスケープします。この関数は、DBMS に独自のエスケープ関数がない場合に使用されますが、DBMS に独自のエスケープ関数がある場合は、関数を使用する場合は、元の関数を使用することをお勧めします。たとえば、MySQL には SQL をエスケープするための mysql_real_escape_string 関数があります。PHP5.3 より前では、magic_quotes_gpc は主に $GET、$POST、$ でデフォルトで有効になっていたことに注意してください。 COOKIE では、これらの変数に対して addslashes を繰り返し呼び出す必要はありません。そうしないと二重エスケープが発生します。ただし、magic_quotes_gpc は PHP5.3 で廃止され、PHP5.4 以降は削除されました。最新の PHP を使用する場合は、必要ありません。この問題について心配する必要はありません。Stripslashes は、addslashes のエスケープ解除機能です。 2. htmlspecialchars htmlspecialchars は、(&)、(' を含む HTML 内のいくつかの特殊文字を HTML エンティティ (形式: &xxxx;) 形式にエスケープします。 )、(")、()の5文字。& (AND) => & ” (双引号) => " (当ENT_NOQUOTES没有设置的时候) ‘ (单引号) => ' (当ENT_QUOTES设置) < (小于号) => < > (大于号) => >
PHP ビデオ チュートリアル 」
以上がphp mysqlエスケープ関数とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。