0

タイトルはちょっとそれをすべて言います。画面にエコー/印刷するすべてのものにnl2br(htmlspecialchars($ text))を使用する必要がありますか?

私は周りを見回してきましたが、ユーザーからの入力を処理するときは、それをエスケープしてデータベースに挿入することでサニタイズするという言葉のようです。次に、データベースから取得するときに、画面に吐き出す場合は、htmlspecialchars()を使用して、わかりにくい文字を安全な文字に変換し、改行を改行に変換する場合は、その周りにnl2br()を使用する必要がありますか?

echo nl2br(htmlspecialchars($text))通常のecho/printステートメントの代わりに、ユーザーから取得した可能性のあるものを出力する必要がある可能性があるすべての場所でそれを使用するsafeEch​​o()という新しい関数を作成する必要がありますか?

4

1 に答える 1

2

いいえ、データベースに安全に保存するには、これだけが必要です:(一重/二重引用符などをエスケープするため)

mysql_real_escape_string($thedata);

データベースから読み取るときは、何もしないでください。多くの変換は何の役にも立ちません。

nl2br は単に "\n" を取り、<br \>;を生成します。確かに印刷には必要ありません..

于 2012-06-01T05:53:08.960 に答える