iframeにサービスを提供する意図でHTMLがGoogle App Engineにアップロードされている場合、そのスクリプトを削除するなど、スクリプトやその他の悪意のあるHTMLを削除するなど、どのような方法で削除するのが最適ですか?Google App EngineでPythonでhtml blobのアップロードをサニタイズする方法は?
私はこれを行うには良い方法であり、任意のヘルプははるかに高く評価されている場合、私は疑問に思って
reader = blobstore.BlobReader(binfo.key())
value = reader.read()
newHtml = lxml.html.clean.Cleaner().clean_html (value)
#save newHtml as the blob in google cloud store to be served.
を考えています。
NB:アンカーを削除したり、アンカー(またはソース)を非相対的で安全なhttpなどにする方法がある場合は、素晴らしいこともあります(または完全に禁止する)。
多くのありがとうございます。私はlxml.cleanを使用しています。これは多くのものを取り除き、人気のある消毒剤と思われます。しかし、あなたが言及した他のものもチェックアウトします。 Btw、「iframe breakout」と言ったら、どういう意味ですか?また、私はiframeを 'sandbox'することを考えています - そのような場合には一般的に推奨されていますか? – user1055761
ええ、[sandboxed iframes](https://www.html5rocks.com/jp/tutorials/security/sandboxed-iframes/)は、物事をもう少し詳しくロックする機能を提供します。また、あなたの使用に適している場合は、['X-Frame-Options'](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options)の設定を検討することもできます-場合。 ここにいくつかの情報があります: * [Clickjacking Defenseチートシート](https://www.owasp.org/index.php/Clickjacking_Defense_Cheat_Sheet) * [最近のスレッドのフレーム破棄について](https:// stackoverflow。 com/questions/958997/frame-buster-buster-code-needed) – erichiggins