2012-01-19 4 views
0

私のウェブサイトはブログを許可しています。私はブログの投稿にtextareaを使用しています。私はyoutubeビデオ(iframeタグを許可する必要があります)やimgタグやリンクタグを許可することによって、問題は私はXXS攻撃に対してウェブサイトを保護する必要があり、それはなぜ私はそれらのタグを許可することを恐れている、これを達成するための回避策はありますか?XSSを危険にさらすことなく、ユーザーが提供した<iframe>を許可しますか?

<?php 
    $string = "<b>hello world!</b>"; 
    echo "without filtering:".$string; 
    echo "<br>"; 
    $filtered = htmlspecialchars($string); // insert into database filtered 
    echo "After filtering:".$filtered; 
    echo "<br>"; 
    $de_filtering = htmlspecialchars_decode($filtered); //retrieve from database and display 
    echo "After de-filtering:".$de_filtering;   
    ?> 

それはそれを行うことが可能である:

は、私はこのようなものを使用することができますか?

答えて

1

新しくリリースされたHTMPurifier 4.4には、これを行うための機能が追加されています。要するに

http://htmlpurifier.org/phorum/read.php?5,5319,5555#msg-5555

、あなたが信頼できるドメインから来たのiframeを可能にしなければなりません。信頼できないドメインのiframeには、悪質なjavascript/flash/embedsが含まれている可能性があります。

1

あらかじめ組み込まれたrich text editorを使用することをお勧めします。あなた自身のものを構築することは長いプロセスであり、非常に扱いにくいことがあります。 TinyMCE(GPLライセンスの下で)は非常に普及したもので、CKEditorもあります(しかし、これにはお金がかかります)。そこにはもっと多くのものがありますが、自分のものを作る代わりに既存のものを使うことをお勧めします。

一部のXSS攻撃を防ぐため、XSSに関する情報についてはcoupledifferentlocationsをご覧ください。基本的なものの中には、常にすべてを消毒して、何かがハイジャックされていると常に仮定しているものがあります。あなたが期待していることを確認するまで、ユーザーからの入力を信頼しないでください。

関連する問題