跨域登录检查
Cross domain login check?
我有bookmarklet。如果我打开一个随机的页面(不是我的)并点击书签,我想检查用户是否登录了我的页面。
我已经使用Access-Control-Allow-Origin做跨域AJAX请求,但看起来这里没有会话ID或cookie发送。
有办法做到这一点吗?
Alex是对的!这是完整的溶液。(不支持IE8和IE9!)
您需要在客户端设置withCredentials。从jQuery 1.5.1开始,您可以像下面这样做(源代码)。对于旧版本遵循白兔。
$.ajax({
url: a_cross_domain_url,
xhrFields: {
withCredentials: true
}
});
在服务器端,你必须允许设置选项,允许凭据和允许起源。不允许使用通配符!但是你可以从请求头中读出源:)
// auto adapted Access Control to origin from request header.
$headers = apache_request_headers();
foreach ($headers as $header => $value) {
if ($header == 'Origin')
header('Access-Control-Allow-Origin: ' . $value, true);
}
// send cookies from client
header('Access-Control-Allow-Credentials: true', true);
// allow all methods
header('Access-Control-Allow-Methods: GET, POST, OPTIONS', true);
您必须将凭据标志设置为true以及标题Access-Control-Allow-Credentials
请参阅此处:Firefox:带有凭据的跨域请求返回空
相关文章:
- 使用javascript反复检查用户在facebook上的登录状态
- 如何检查用户已经登录facebook
- 如何检查用户是否使用$routeChangeStart登录angularjs
- 在页面加载之前检查登录和重定向
- 登录同一页面,检查SESSION而不重新加载
- 检查登录错误Android WebView Javascript
- 使用Ajax检查登录表单
- 从网站调用phpmyadmin中的存储过程来检查登录详细信息
- 如何在 php 的所有页面中检查登录页面重定向
- 在 Meteor 的 FlowRouter 中检查登录
- 针对MongoDB检查登录凭据不起作用
- Js从外部网站检查登录
- Facebook API:使用JavaScript SDK登录,然后使用PHP检查登录状态
- 检查登录状态
- 流星-在发布模板之前检查登录状态
- 如何在index.html中检查登录
- AngularJS -使用md5 password检查登录服务中的用户/密码
- 网站如何在不重新加载页面的情况下检查登录凭据?
- 检查登录用户是否喜欢使用JS的Facebook API上的页面
- Meteor.js-在渲染前检查登录状态