现在我正在考虑将我的博客变成一个用户生成的博客,人们可以在其中发布自己的内容。这样做的问题是它使我的博客容易受到 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 }