次を使用して、文字列を特殊文字に変換する必要があります。
htmlspecialchars
私の質問は、データベースに送信する前にデータを変換する必要がありますか、それとも表示する前に変換する必要がありますか?
データをデータベースに挿入する前にサニタイズし、取得時にエスケープする必要があります。
htmlspecialchars
エスケープに使用されるため、データベースからフェッチした後である必要があります。
一般に、保存する前にソース データを変更しないことをお勧めします。データを使用している特定のコンテキストにデータを関連付けます。PDF やテキスト形式など、別の表示方法が必要な場合はどうすればよいでしょうか。次に、テキストに html エンティティが含まれているため、それらを元に戻す必要があります。
IMHO パフォーマンスに関する考慮事項は、この点では二次的なものですが、このためのビューにキャッシュ テクノロジを利用することもできます。
したがって、結論として、表示する前に常に文字列を準備することをお勧めします。
データはデータベースに入れる前にサニタイズされてエスケープされているので安全だと思います。そこから、データベースへの途中でデータをできるだけ変更しないようにしています。
覚えておくべきことは、おそらくあなたはそのコピーをあなたのウェブサイトで使用しているかもしれませんが、後で別のデバイスや印刷物で使用したいと思うかもしれません. データベースに移動する前に使用htmlspecialchars
した場合、HTML 以外で使用する場合はクリーンアップする必要があります。日付をデータベースに入れる前に文字列としてフォーマットするのが一般的ですが、フォーマットを変更したい場合は...