私はユーザーが記事を書くことができるテキストエリアを持っています。記事には、テキスト(太字とイタリック)、リンク、およびYouTubeの動画を含めることができます。これらの特定のhtmlタグを許可し、安全なxss防止コードを投稿するにはどうすればよいですか?特定のhtmlタグを許可する方法は?
6
A
答えて
11
私はあなただけ
を許可するように選びだしまし属性をHTML
- を保つことを保証するために、HTMLPurifierを使用しますPHPが
strip_tags()
関数を提供していると付け加えますが、それほど良くはありません。(引用):予想以上部分
strip_tags()
ので、実際にHTMLを検証していない、または 壊れたタグが複数のテキスト/データの削除につながることができます。
この機能は 他のユーザーに表示されますことを、テキストを投稿する際にいたずらユーザーは行為を行う可能性があります スタイルとのonmouseoverなど、あなたがallowable_tags
を使用できるように タグ、上の任意の属性を変更しません。
1
実際のXSS保護をお探しの場合は、HTMLPurifierを使用することをお勧めします。それをすることは不可能ではないにしてもかなり難しいです。そして、間違い(/穴)があることに縛られています。
関連する問題
- 1. textarea、PHP、MySQLにHTMLタグを許可する方法は?
- 2. HTML Purifierのフィルタでインラインスタイルのタグを許可する方法
- 3. ポストバックでhtmlタグを許可する
- 4. JIRAで特定のグループアクセス許可をプロジェクトに許可する方法
- 5. WMDエディタで許可されたHTMLタグを制御する方法は?
- 6. Javadocで許可されるHTMLタグ
- 7. HTML Purifier - デフォルトの許可されたHTMLタグ設定を変更する
- 8. htmlを許可するPHPIDS設定
- 9. 入力タグに特定の単語を入力することを許可しないhtml
- 10. 通常のユーザシェルに特定のフォルダへのアクセスを許可する方法
- 11. 特定のhtmlページからの画像アクセスのみを許可する
- 12. htaccessのメンテナンスモードを許可特定のディレクトリ
- 13. いくつかのhtmlタグを許可し、他人を拒否する方法は?
- 14. SQL Azureでデータベースのアクセス許可を設定する方法は?
- 15. Node.jsモジュールのファイルアクセス許可を設定する方法は?
- 16. HTMLPurifierでembed/object/param HTMLタグを許可しますか?
- 17. スペースを許可する方法は?
- 18. 特定の顧客に許可された支払い方法を割り当てる方法は?
- 19. アクセスコントロールを設定する方法特定のファイルの原点を許可するweb.config
- 20. 特定のページの表示を許可しない方法(例:success.xhtml
- 21. サイトのデフォルトページのみを許可するrobot.txtの設定方法
- 22. Glassfishで許可を許可する方法
- 23. IISアプリケーションプールが特定のMS SQLデータベースにアクセスするのを許可する方法はありますか?
- 24. django-allauth:特定のGoogleアプリドメインのユーザーのみを許可する
- 25. HTMLページの特定の場所を参照する方法は?
- 26. 特定のファイルの実行可能ビット/許可マスクメタデータを表示
- 27. jQuery UI Datepicker - 特定の平日のみを許可する
- 28. DataGridiViewセルに特定の文字のみを許可する
- 29. php regex preg_match特定のキーワードのみを許可する
- 30. htaccess特定のユーザーへのアクセスを許可する
+1の引用符strip_tags()notes –
Thx! htmlpurifierのように見える方法です。ただ明確にする。 htmlpurifierは、xss、sql injectionsおよびその他の危険なコードを防止しますか? – Michael
私はこれを数回使って、ユーザー入力をきれいにして、選択したタグだけが含まれていることを確認しました。許可されたタグ/属性を慎重に選択すると、XSSが防止されます。しかし、SQLインジェクションについては何もしません。これらはSQLクエリーに何を入れるのが安全であるかを確認することで解決するもう一つの問題です(整数は整数でなければならず、文字列は適切にエスケープする必要があります。準備された文を使用する)* –