私はphpcmsを構築しており、コンテンツはmysqldbから取得されます。HTMLマークアップのあるコンテンツをエスケープするにはどうすればよいですか?いつこれを行う必要がありますか?
「信頼できる」ユーザーだけがコンテンツを追加できる場合、これがメインページのコンテンツフィールドにとってどれほど大きな問題になるかはわかりません。
よろしくお願いします;)
私はphpcmsを構築しており、コンテンツはmysqldbから取得されます。HTMLマークアップのあるコンテンツをエスケープするにはどうすればよいですか?いつこれを行う必要がありますか?
「信頼できる」ユーザーだけがコンテンツを追加できる場合、これがメインページのコンテンツフィールドにとってどれほど大きな問題になるかはわかりません。
よろしくお願いします;)
データを出力するときは、データに対してhtmlentities()関数やstrip_tags()関数のようなものを使用することをお勧めします。
ただし、最初の防御は、期待している形式での唯一の受け入れ日です。たとえば、フォームのName:フィールドの場合、文字、スペース、'、-、およびその他の数文字のみを受け入れます。データが正しい形式であるかどうかを確認する前に、データベースにデータを追加しないでください。
Webサイトのほとんどのフォームフィールドでは、<や>などの文字は必要ありません。そのため、データが正しい形式であるかどうかを確認せずに、データをデータベースに追加しないでください。数値1、2、3、4 ...などの正の整数を期待している場合は、これらの要件が満たされるまでスクリプトを続行しないでください。