プロが教える店舗&オフィスのセキュリティ対策術

htmlspecialcharsを使うタイミングがいまいちわかりません。
調べてみると、html出力時だということがわかりました。

mysqlを使った場合は以下の手順、

(1)フォームの内容をmysql_real_escape_stringしてデータベースに保存
(2)データベースから取り出すとき、htmlspecialcharsして出力する。

だとわかりましたが、ここで疑問点があります。
これまで掲示板などをデータベースを使わずファイル保存で作る場合、

(1)フォームの内容をhtmlspecialcharsしてファイルに保存
(2)foreachですべて表示

というやり方をしていましたが、正しくは、

(1)htmlspecialcharsせず、そのままファイルに保存
(2)foreachで表示するとき、htmlspecialcharsする

という順序なのでしょうか??
わかりにくくて申し訳ないのですが、ご教授ください。
よろしくお願い致します。

A 回答 (1件)

>(1)htmlspecialcharsせず、そのままファイルに保存


>(2)foreachで表示するとき、htmlspecialcharsする

それで正しいです。htmlspecialchars は、ファイルに保存する時じゃ無くて、HTMLとしてクライアントに返すとき(echo等)に行います。

なので、
>(2)データベースから取り出すとき、htmlspecialcharsして出力する。
も、データベースから取り出し後に編集などが入るなら、取り出し時じゃ無くて、編集後の出力直前で行います。
    • good
    • 0
この回答へのお礼

これで迷いなく書けます。
ご回答頂き、ありがとうございました。

お礼日時:2012/03/28 02:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!