今、私は自分のブログを、人々が自分のものを投稿できるユーザー生成ブログに変えることを考えていました. これの問題は、私のブログが jquery インジェクションに対して脆弱になることです。ホワイトリストについて話している人やサーバーサイドスクリプトを使用している人を検索して見つけましたが、私のブログはTumblrでホストされており、CSS、HTML、jQueryに制限されているため、それが解決策であるかどうかはわかりません.
これは、他のユーザーが変更/ターゲットできる唯一の部分です。
<h2><a href="Link" class="Title">
<p>//THIS IS WHERE THE USER GENERATED CONTENT GOES</p>
</a></h2>
そして、問題の例は、彼らがこれを行うことにした場合です:
<h2><a href="Link" class="Title">
<p><script>alert('injected');<script></p>
</a></h2>
さて、上記のスクリプトがオフになるのを防ぐ方法はありますか? 私はjQueryに限定されているので、次のような解決策を考えていました:
var ContentWithScript = Anything inside <p></p> tags (or any other way to target it)
$(ContentWithScript).find('script').remove();
または
$(.Title).getElementsByTagName('p')
var Content=(this)
if Content contains string ('script) {
remove }