Web services HTTPS上提供的浏览器插件专用API中的CSRF预防
我必须设计一个只支持浏览器插件的API(最新版本的Chrome、Firefox、IE)。API将通过HTTPS提供服务。API将使用基于cookie的访问控制方案 我想知道预防CSRF应该采取什么策略。具体来说,我希望我的API只从我自己的浏览器插件本身获取请求,而不是从任何其他页面/插件获取请求 我能否:Web services HTTPS上提供的浏览器插件专用API中的CSRF预防,web-services,security,csrf,browser-plugin,csrf-protection,Web Services,Security,Csrf,Browser Plugin,Csrf Protection,我必须设计一个只支持浏览器插件的API(最新版本的Chrome、Firefox、IE)。API将通过HTTPS提供服务。API将使用基于cookie的访问控制方案 我想知道预防CSRF应该采取什么策略。具体来说,我希望我的API只从我自己的浏览器插件本身获取请求,而不是从任何其他页面/插件获取请求 我能否: 假设在大多数情况下会有一个原点标题 我是否能够比较并信任Origin头,以确保请求只来自白名单上的一组Origin 这是否可以兼容所有浏览器(Chrome/Firefox/IE) 我知道
- 假设在大多数情况下会有一个原点标题
- 我是否能够比较并信任Origin头,以确保请求只来自白名单上的一组Origin
- 这是否可以兼容所有浏览器(Chrome/Firefox/IE)
提前谢谢 设置自定义标题,如
X-From-My-Plugin:yes
。服务器应要求其存在。它可以是一个常数。web攻击者可以:
无论哪种方式,攻击者的请求都不会同时包含cookie和自定义头。任何请求头都很容易被伪造。如果你的用户可以通过你的“基于cookie的访问控制方案”进行身份验证,你真的在乎他们使用什么客户端吗?这在Firefox上有效吗?据我所知,Firefox是Chrome所具有的粒度权限模型。因此,对于Firefox,我是否理解浏览器不允许设置自定义域,并将强制客户端执行飞行前请求?Firefox中没有“其他扩展”的概念,因为所有扩展和浏览器本身都是具有完全权限的同一安全主体的一部分。