首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >每一次请求都会有5次新会议

每一次请求都会有5次新会议
EN

Stack Overflow用户
提问于 2015-02-12 00:51:29
回答 2查看 1.5K关注 0票数 0

我有以下设置:前端的Laravel5和AnguarlJS角将$http请求发送到Laravel5后端。前端在test.example.com上,后端在api.example.com上,我现在遇到的问题如下。该站点在启动时测试用户是否有一个开放会话,如果它在其中有一个令牌,这与我们的数据库相匹配。如果没有,用户可以像平常一样使用他的凭据登录。当登录到创建的令牌时,将成功地保存到我们的数据库中,并且应该将令牌保存到会话项中。完成此操作后,将再次检查用户是否正确登录,但显然会话为空。我们注意到,Laravel为我们从AngularJS发出的每一个请求创建了一个新会话。原因可能是来自不同子域的JS请求是跨域请求,浏览器不发送cookie来标识会话。也许这就是原因。

显然,我不知道这个问题的解决办法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-12 01:32:56

自从我今天花了这么多小时之后,我就做了以下的事情。我已经编辑了我的nginx配置,为api服务,不是在子域上,而是在子文件夹上。我的配置如下所示:

代码语言:javascript
运行
复制
location /api {
    # First attempt to serve request as file, then
    # as directory, then fall back to displaying a 404.
    index index.php;
    alias /srv/www/htdocs/api/public;
    if (-f $request_filename) {
        break;
    }

    ## Check for file existing and if there, stop ##
    if (-d $request_filename) {
        break;
    }

    ## If we get here then there is no file or directory matching request_filename ##
    rewrite (.*) /api/index.php?$query_string;

    ## Normal php block for processing ##
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }

}
票数 1
EN

Stack Overflow用户

发布于 2015-02-12 01:18:30

由于web是无状态的,仅使用标头信息或域可能会导致中间人受到攻击。来自客户端的任何内容都可以修改或复制,包括cookie数据。在这里,我对你的问题没有确切的答案,但我会建议一个不同的策略。

与api通信时使用的一种做法是使用带有安全请求的访问令牌;类似于oauth2客户机/服务器关系。通过向api发送XHR或CURL请求中的令牌,系统可以更好地验证它正在与谁交谈。否则,您可能会遇到欺骗通过身份验证的用户的人。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28467408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档