繁体   English   中英

如何在bookmarklet中进行身份验证?

[英]How to do authentication in bookmarklet?

我希望我的bookmarklet要求用户登录。 这是一个想法......我为用户创建了一个iframe登录,并显示了a / c信息。 但我想从服务器获取一些信息,例如,我想知道用户是否已将此页面添加到我的服务器。 所以,我想做一个ajax调用,但由于相同的源策略,我不能通过ajax来做。 那么,我如何从iframe获取信息?

故事是这样的:

用户网站 - >用户点击书签 - >如果登录 - >显示'添加到收藏夹'按钮 - >用户点击添加到收藏夹按钮,将网址提交给服务器,重新加载服务器。

用户网站 - >用户点击书签 - >如果没有记录 - >显示登录按钮 - >登录成功 - >按以前的方式执行流程

用户网站 - >用户点击书签 - >如果记录 - >检查网站是否已添加到服务器上 - >没有收藏夹按钮

如您所见,只有iframe存储登录用户的信息。

你正在做的是impossilbe因为它违反了原始继承规则 这样想吧。 如果您可以从此时尚的其他网站获取信息,那么您可以阅读CSRF代币 ,或者从他们的Gmail帐户中读取某人的电子邮件。

说到CSRF,大多数登录只是一个带有用户名/密码的简单帖子。 您在网站上构建一个与登录所需的POST请求相同的简单<form> 使用JavaScript,您可以在表单上调用.submit() ,将浏览器重定向到新认证的会话。 实际上,这就是基于POST的CSRF漏洞利用的工作原理 (尽管通常在CSRF攻击中,您认为浏览器已经过身份验证)。

当然,这不适用于所有应用程序,如OpenID或gmail。 这是因为这些服务通常包含随机值以及登录请求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM