php で安全でない文字列をフィルターする方法: 1. mysql_real_escape_string 関数を使用して特殊文字に「バックスラッシュ」を追加します; 2. addslashes 関数を使用して特殊文字にバックスラッシュを追加します; 3. htmlentities 関数を使用してユーザー入力データをフィルターし、もっと。
#この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
php安全でない文字列をフィルタリングするには? PHP の文字セキュリティ フィルタリング関数の使用概要
この記事では、主に PHP の文字セキュリティ フィルタリング関数について簡単に紹介します。SQL インジェクション攻撃や XSS 攻撃を防ぐのに非常に役立ちます。ここにいるみんな。 WEB開発の過程では、世界中のユーザーが入力したデータを取得する必要があることがよくあります。ただし、「ユーザーが入力したデータは決して信頼できません」。そのため、さまざまな Web 開発言語では、ユーザー入力データのセキュリティを確保するための関数が提供されています。 PHP には、SQL インジェクション攻撃や XSS 攻撃などの問題を防ぐのに役立つ非常に便利な関数がいくつかあります。mysql_real_escape_string()
しかし、mysql_real_escape_string() 関数は基本的に不要になりました。すべての新しいアプリケーション開発では、データベースを操作するために PDO などのライブラリを使用する必要があります。言い換えれば、既成のステートメントを使用して SQL インジェクション攻撃を防ぐことができます。
addslashes()
に置き換えられます。
フォーム送信で特殊文字を処理するための PHP のメソッドをまとめてみましょう。これには、主に htmlspecialchars/addslashes/stripslashes/strip_tags/mysql_real_escape_string などのいくつかの関数を組み合わせて使用することが含まれます。みんなでコミュニケーションをとりましょう。
1. 特殊文字処理に関連するいくつかの PHP 関数
定義 | はじめに | |
が使用されますwith、一重引用符と二重引用符、大なり小なり記号を HTML 形式に変換します | &convert to& | "convert to" 'convert to' |
すべての文字は HTML 形式に変換されます | 上記の htmlspecialchars 文字に加えて、エンコーディングなどに全角文字の表示を含めます。 | |
一重引用符、二重引用符、バックスラッシュ、 NULL とバックスラッシュ エスケープ | 変更される文字には、一重引用符 (')、二重引用符 (")、バックスラッシュ バックスラッシュ (\)、およびヌル文字 NULL が含まれます。 | |
バックスラッシュ文字を削除します | 文字列内のバックスラッシュ文字を削除します。連続するバックスラッシュが 2 つある場合は、1 つを削除し、1 つを残します。バックスラッシュが 1 つしかない場合は、それを削除します。 | |
引用符を追加 | 文字列内の \\ * ? [ ^ ] ( $ ) などの文字の前にバックスラッシュ "\" 記号を追加します。 | |
strip_tags | HTML タグと PHP タグを削除します | 文字列内の HTML タグと PHP タグをすべて削除します。タグ ブロック間のコンテンツ。文字列 HTML タグと PHP タグにエラーがある場合は、エラーも返されることに注意してください。 |
##mysql_real_escape_string | 中の特殊文字をエスケープします。 SQL 文字列 | エスケープ \x00 \n \r スペース \ ' " \x1a。これはマルチバイト文字の処理に非常に効果的です。 mysql_real_escape_string は文字セットを決定しますが、mysql_escape_string を考慮する必要はありません。 |
推奨学習: 「 | PHP ビデオ チュートリアル | 」