1

タイトルで述べたように、ユーザーが入力したデータをサニタイズするための htmlspecialchars() には非常に自信があります。しかし、電子メールのサニタイズには、FILTER_SANITIZE_EMAIL() の代わりに使用できますか? すでに FILTER_VALIDATE_EMAIL() を使用している場合

4

3 に答える 3

4

ユーザー入力で htmlspecialchars を使用することは、XSS 攻撃を防ぐ方法であり、データを保存するときではなく、出力するときに安全にする方法です。

ユーザーがこれを送信するとします。

<span onclick="alert('evil script')">something that seems normal</span>

ユーザーが送信したとおりにコンテンツを保存する必要があります。ただし、表示するときは、htmlspecialchars (またはhtmlentities ) を使用して一部の特殊文字をエンティティに変換し、ブラウザが解釈できないようにする必要があります。

フィルター拡張機能の関数の 1 つで使用されるFILTER_VALIDATE_EMAILフラグは、ユーザー データを検証する方法であり、ユーザー データを保存する前に実行する必要があるプロセスです。

xss 防止の詳細については、こちらを参照してください

于 2013-06-14T13:33:33.313 に答える
2

FILTER_SANITIZE_EMAIL文字列が電子メール アドレスであることを保証します。

htmlspecialchars文字列を HTML に安全に挿入できるようにします。

それらは完全に異なるものであり、いかなる状況下でも互いに代替するものではありません.

于 2013-06-14T13:30:17.360 に答える
0
 Provided I have already used FILTER_VALIDATE_EMAIL

次に、すでに検証済みの場合、文字列に電子メール以外のものがどのように含まれるでしょうか。

検証が失敗した場合でも指定された電子メールを出力する場合はhtmlspecialchars()、電子メール文字列で yes を使用するか、有効な電子メールではないことを通知する必要があります。

于 2013-06-14T13:37:00.810 に答える