4

次を使用して、文字列を特殊文字に変換する必要があります。

 htmlspecialchars

私の質問は、データベースに送信する前にデータを変換する必要がありますか、それとも表示する前に変換する必要がありますか?

4

4 に答える 4

6

データをデータベースに挿入する前にサニタイズし、取得時にエスケープする必要があります。

htmlspecialcharsエスケープに使用されるため、データベースからフェッチした後である必要があります。

于 2013-06-06T14:53:50.043 に答える
2

一般に、保存する前にソース データを変更しないことをお勧めします。データを使用している特定のコンテキストにデータを関連付けます。PDF やテキスト形式など、別の表示方法が必要な場合はどうすればよいでしょうか。次に、テキストに html エンティティが含まれているため、それらを元に戻す必要があります。

IMHO パフォーマンスに関する考慮事項は、この点では二次的なものですが、このためのビューにキャッシュ テクノロジを利用することもできます。

したがって、結論として、表示する前に常に文字列を準備することをお勧めします。

于 2013-06-06T14:56:08.357 に答える
2

データはデータベースに入れる前にサニタイズされてエスケープされているので安全だと思います。そこから、データベースへの途中でデータをできるだけ変更しないようにしています。

覚えておくべきことは、おそらくあなたはそのコピーをあなたのウェブサイトで使用しているかもしれませんが、後で別のデバイスや印刷物で使用したいと思うかもしれません. データベースに移動する前に使用htmlspecialcharsした場合、HTML 以外で使用する場合はクリーンアップする必要があります。日付をデータベースに入れる前に文字列としてフォーマットするのが一般的ですが、フォーマットを変更したい場合は...

于 2013-06-06T14:56:12.467 に答える