nginx 携 cookies 反代

2019-02-15 17:00:48 +08:00
 Nott

之前发布了一个贴 t/497276

闲来无事,自己也折腾了一番

先去目标站 b.com 登录帐号,把 cookies 抓下来

然后用 a.com 反代 b.com ,反代时 add_head Set-Cookie,把抓来的 cookies 写上

打开 a.com 的时候要刷新一下,才会变成登录状态

PC 端抓到的 cookies 换成手机浏览器,刷新也不是登录状态了

手机端抓到的 cookies 可以手机刷新登录,换成 PC 端又不灵了

头大,请大神指点

nginx 配置,全靠百度。。。

    set $ck1 '';
    set $ck2 '';
    set $ck3 '';
    set $ck4 '';
    set $ck5 '';
    set $ck6 '';
    set $ck7 '';
    set $ck8 '';
    add_header	Set-Cookie $ck1;
    add_header	Set-Cookie $ck2;
    add_header	Set-Cookie $ck3;
    add_header	Set-Cookie $ck4;
    add_header	Set-Cookie $ck5;
    add_header	Set-Cookie $ck6;
    add_header	Set-Cookie $ck7;
    add_header	Set-Cookie $ck8;
    if ($http_referer ~* "c.com"){
        set $ck1 "CzG_auth=1536h7ruVnpPjOIj3u5%2BAA18XqvzmwgQ9QjjP";
        set $ck2 "CzG_onlineusernum=4958";
        set $ck3 "__utma=130678855.1246107918.1549469240.1550143956.1550149648.4";
        set $ck4 "__utmb=130678855.1.10.1550149648";
        set $ck5 "__utmc=130678855";
        set $ck6 "__utmt=1";
        set $ck7 "checkpm=1";
        set $ck8 "__tins__3932781=%7B%22sid%22%3A%20155014968";
    }

目标站是 discuz,不知道哪些 cookies 是记录在线状态的,所以全给写上了

c.com 是限制路人甲,只给来自 c.com 的访客用

2346 次点击
所在节点    NGINX
3 条回复
qfdk
2019-02-16 01:29:13 +08:00
reference ➕ cookie 控制吧 不过楼主提供了个好思路
qwertyegg
2019-02-16 07:01:46 +08:00
我试图做过这个东西,但是 CORS 跨域设置,得 b.com 支持才可以,好像是这样,如果错了请指出.

https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials
Nott
2019-02-16 15:49:41 +08:00
@qfdk 我也是靠搜索乱写的。

@qwertyegg b.com 是 discuz,我这种写法可以实现免登,但是需要先刷新一下,手机和 PC 抓到的 Cookies 只能各自端用,跨端就不行了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/535395

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX