技术解析

nginx 携 cookies 反代
0
2021-05-20 00:00:25
idczone

之前发布了一个贴 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 的访客用


reference ➕ cookie 控制吧 不过楼主提供了个好思路

我试图做过这个东西,但是 CORS 跨域设置,得 b.com 支持才可以,好像是这样,如果错了请指出.
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials

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

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服