0

このsanitize()コードを含むパーシャルがあります:

<%= sanitize comment.body,
:tags => %w(a b embed i img object p param),
:attributes => %w(allowfullscreen allowscriptaccess href name src type value) %>

ユーザーが動画、リンク、写真を埋め込んだり、斜体や太字などを使用できるようにしてほしい.

これはどれほど安全ではないのでしょうか? また、これをライブ Web サイトに掲載する場合、何を予期し、対処する準備をしておく必要がありますか?

注: これは明らかに入力のサニタイズがないことを前提としています。

読んでくれてありがとう。

4

1 に答える 1

1

本当に注意しなければならないタグ​​は<script/>と<object/>です。

動画を許可する場合は、YouTubeや他のシステムからの期待値と一致する許容可能なオブジェクト形式に対して検証するか、(理想的には)ユーザーの埋め込みを処理するUIを作成する必要があります。

昨年、YouTubeのURLを取得し、オブジェクトの埋め込みコードを手動で取得することで、動画の埋め込みを可能にするシステムを作成しました。これには、ユーザーエクスペリエンスを大幅に合理化するだけでなく、潜在的な攻撃ベクトルからシステムを保護するという利点がありました。

ああ、そして他のこと-可能であれば、 biではなく強いemを使用してください。

于 2010-08-30T04:16:56.307 に答える