0

管理者が記事を投稿できるように、WYSIWYG エディターを備えたブログっぽい (ただし、CMS/Wordpress インスタンスに値するほどのブログではありません) プラットフォームを作成する予定です。HTML をデータベースに (記事のテキスト用に) 保存することが健全で安全であるかどうか (スクリプト タグのすべての痕跡をいつでもサニタイズできるかどうか) と、この問題に対するより良い解決策があるかどうか疑問に思っていました。

誤解しないでください:私はそれが機能することを知っていますが、私が気付いていないより良い解決策がそこになければならないというこの燃えるような痒みがあります.

4

1 に答える 1

2

もちろん。ファイルシステムに保存できますが、データベースの利点が失われます (他のものとの単一バックアップやカスケード削除など)。

XSS が含まれている可能性があるため、保存する前に HTML をサニタイズする必要があります。たとえば、誤って管理インターフェイスで誤ってそれを返したくはありません。

Java では、Hibernate Validator の @SafeHtml アノテーション / JSoup のライブラリを使用してサニタイズできます。

安全でない JavaScript がブラウザーで実行されないように、HTML を出力する前にサーバー上でエスケープする必要もあります。

また:

  • HTTP のみのセッション Cookie を使用する (XSS 攻撃で使用できないようにするため)
  • X-XSS-Protection = 1; モード = ブロック
  • X-Content-Security-Policy = default-src 'self'
  • Content-Security-Policy = default-src 'self'
  • X-WebKit-CSP = default-src 'self'
  • X-Content-Type-Options = nosniff ヘッダーを使用します (と思います)
于 2013-10-22T05:13:44.990 に答える