私人JavaScript小部件

xzy*_*fer 7 javascript security widget

我正在考虑开始一个新项目.该项目的前提是在我的网站上生成一个小部件,然后将一段javascript复制到您的网站中,然后中提取您的小部件.

这是polldady.com,twiig.com和addthis.com等现有服务的新动力.

许多此类服务旨在公开访问.这意味着小部件供应商并不关心您是否将数据发回给他们.事实上,他们鼓励尽可能广泛地传播小部件.

但是我的服务有一个独特的变化.在我的情况下,虽然小部件将向公众开放,但我需要确保发起的帖子请求仅来自预期的站点.

由于这些javascript小部件的xss问题,我需要动态创建一个iframe来呈现我的小部件.

是否有处理此类交互的身份验证模型?

roo*_*ook 4

首先,使用 iframe 违反了同源策略。使用普通的旧 JavaScript,您可以创建一个<form>并调用.submit()以在任何地方触发此发布请求。事实上,这就是基于 POST 的 CSRF 漏洞的工作原理。您可以检查referer此 POST 请求的 ,但是如果它来自 https 页面,则该值将为空。(然后你可以拒绝服务......)。不建议将 发送document.location为 POST 变量,因为修改此小部件以报告修改后的值是微不足道的。然而,传入的 http 请求中包含的引用站点对于网站的运营商来说是禁止的