如何在bookmarklet中进行身份验证
How to do authentication in bookmarklet?
本文关键字:身份验证 bookmarklet 更新时间:2023-09-26
我希望我的bookmarklet要求用户登录。这就是我们的想法....我创建了一个iframe供用户登录,并显示了a/c信息。但是我想从服务器得到一些信息,例如,我想知道用户是否已经将这个页面添加到我的服务器上。我想进行ajax调用,但由于同源策略,我不能通过ajax实现。那么,我如何从框架中获取信息呢?
故事是这样的:
用户web ->用户点击bookmarklet ->如果登录->显示一个'添加到fav'按钮->用户点击添加到fav按钮,url被提交到服务器,重新加载服务器。
用户web ->用户单击bookmarklet ->如果未登录->显示登录按钮->登录成功->按照前面的流程执行
用户web ->用户单击bookmarklet ->如果已登录->检查网站是否已添加到服务器->无fav按钮
可以看到,只有iframe存储了登录用户的信息。
您所做的是不可能的,因为它违反了原始继承规则。这样想吧。如果您可以以这种方式从另一个网站获取信息,那么您可以阅读CSRF令牌,或者从他们的gmail帐户中阅读某人的电子邮件。
说到CSRF,大多数登录只是一个带有用户名/密码的简单帖子。您在您的网站上建立一个简单的<form>
,与登录所需的POST请求相同。使用JavaScript,您可以在表单上调用.submit()
,这将使浏览器重定向到他们新认证的会话。事实上,这就是基于POST的CSRF漏洞利用的工作方式(尽管通常在CSRF攻击中,您假设浏览器已经经过身份验证)。
相关文章:
- Sencha Touch和远程服务器上的身份验证
- Javascript清除缓存以清除基本身份验证凭据
- REST的面向公众的身份验证机制
- 当需要身份验证时,ui路由器不会重定向
- 使用Facebook登录,但仍然可以获得:“;此标识池不支持未经身份验证的访问“;
- AJAX HTTP基本身份验证解决方案
- 身份验证后获取Facebook图片
- 如何对单个页面进行密码保护(这不是身份验证系统的一部分)
- Twitter应用程序专用身份验证
- Passport.js成功的身份验证根本没有调用
- 通过JavaScript访问需要身份验证的页面
- UIWebview赢得't通过基本身份验证加载动态加载的资源(通过jQuery mobile)
- 使用JavaScript捕获基本身份验证凭据
- javascript中的Spotify身份验证
- ServiceStack JavaScript服务器事件客户端的身份验证
- Twitter API 1.1无法对您2进行身份验证
- javascript api,用于在第三方域上存储身份验证令牌
- 实施Facebook's无用户身份验证的Graph API
- CRM身份验证问题
- 获取json结果的身份验证问题