フォーラムで外部画像を禁止する方法はありますか?外部画像へのリンクは時々壊れており、常に合法であるとは限りません。.htaccess経由でこれを行うことは可能ですか?
1 に答える
1
いいえ。定義されたuriをロードするようにクライアント< a href='' >
に< img src='' >
依頼します。uriはサーバーではなくブラウザによってロードされるため、これを禁止する安全な方法はありません(javascriptソリューションを無効にすることができます)。
フォーラムでユーザーが生成したタグは常にセキュリティ上の脅威となる可能性があるため、除外する必要があります。コードによっては、敵対的なWebサイトに、それぞれのページの権限でクライアント側のセッションCookieを読み取るコードが含まれている可能性があります。
phpを使用している場合は、この$str = strip_tags($str)
関数を使用することをお勧めします。ネストされたタグが正しく検出されない場合があることに注意してください。
CDATA
セキュリティの脅威は、またはに基づいている可能性もありますhtml-comments
。ハイコムまたはタグの二重引用符を使用する場合は< input >
、これらを空の文字列に置き換えると便利な場合があります。
utf-8を使用する場合は、次のように実行できます。
mb_regex_encoding('UTF-8');
$str = mb_eregi_replace( '\'' , '' , $str);
$str = mb_eregi_replace( '<([A-Z][A-Z0-9]*)\b[^>]*>' , '' , $str);
$str = mb_eregi_replace( '<\/([A-Z][A-Z0-9]*)\b[^>]*>' , '' , $str);
$str = mb_eregi_replace( '<!--' , '' , $str);
$str = mb_eregi_replace( '-->' , '' , $str);
$str = mb_eregi_replace( '<!\[CDATA\[' , '' , $str);
$str = mb_eregi_replace( '\]\]>' , '' , $str);
于 2013-01-12T21:21:01.823 に答える