V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
Nott
V2EX  ›  NGINX

nginx 携 cookies 反代

  •  
  •   Nott · 2019-02-15 17:00:48 +08:00 · 2450 次点击
    这是一个创建于 2139 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    @qwertyegg b.com 是 discuz,我这种写法可以实现免登,但是需要先刷新一下,手机和 PC 抓到的 Cookies 只能各自端用,跨端就不行了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3268 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:21 · PVG 19:21 · LAX 03:21 · JFK 06:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.