2017-07-17 18 views
0

データベースから電子メールアドレスを出力している場合。または特定の入力が必要なもの。ページに表示する前にfilter_var()を実行しているべきですか?DBから出力する前に検証する必要があります

while ($rows = mysqli_fetch_assoc($result)) { 
    $validated = filter_var($rows['email'], FILTER_VALIDATE_EMAIL); 
    if ($validated) { 
     echo $validated; 
    } 
} 
+0

電子メールアドレスが必要な場合は、データベースに挿入する前に電子メールアドレスであることを確認する必要があります。次に、表示する前に 'htmlentities()'を実行してください。 – AbraCadaver

+0

しかし、私はすでにそこにあるデータを扱っています。挿入しないでください – Programit

+0

Twig(https://twig.symfony.com/)のようなテンプレートフレームワークを使って、フロントエンドのフィルタリングとエスケープをたくさん試してみてください。それはまた懸念のより多くの分離を可能にする。 –

答えて

0

どこからでも画面に印刷するときは常にエスケープすることをお勧めします。 laravelのようなフレームワークはこれをデフォルトの動作として持っています。

+0

filter_varとhtmlentitiesで電子メールを検証しますか? – Programit

関連する問題