免責事項
これは、データベース入力をエスケープする必要があるかどうかの問題ではありません。これは、タイトルの 3 つの機能の技術的な違いを厳密に見たものです。
との違いについて議論するこの質問があります。しかし、実際には議論されておらず、私が Google で見つけた情報は、「エコーされる前にユーザー入力をエスケープするようにしてください!」という行に沿ったものでした。htmlentities()
htmlspecialchars()
filter_var()
私の質問は次のとおりです。
htmlspecialchars()
と が の上でhtmlentities()
一般的に使用されるのはなぜfilter_var()
ですか?- 使用によるパフォーマンスの低下はあり
filter_var()
ますか? filter_var()
他の 2 つのオプションほど安全ではありませんか?- ユーザー入力をエンコードする前に、以下を使用しない理由は他にありますか?
echod
filter_var($var, FILTER_SANITIZE_FULL_SPECIAL_CHARS);