V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
imaning
V2EX  ›  PHP

新手程序猿请教个突破 IP 限制的问题

  •  1
     
  •   imaning · 2018-11-05 22:18:26 +08:00 · 4998 次点击
    这是一个创建于 2244 天前的主题,其中的信息可能已经有所发展或是发生改变。
    请教各位大佬个问题啊,从一个应用的 json 接口获取 token,但是这个应用限制了终端的 IP 地址(哪个 IP 获取的 token 就只能在这个 IP 用),我用 php curl 去访问接口,取到的 token 只能在跑 php 的服务器上用,求教各位大佬,有办法突破这个限制吗?
    第 1 条附言  ·  2018-11-06 08:57:52 +08:00
    忽然想起个问题,大家看思路是不是正确的。
    伪造 IP,仅仅伪造了我发送的数据,实际上服务端将响应数据发送给我了伪造的那个 IP,这个是由路由决定的,而我是收不到的。所以这才是关键点是吧?
    26 条回复    2018-12-02 15:54:36 +08:00
    udev
        1
    udev  
       2018-11-05 22:41:52 +08:00
    看下如何获取的客户端请求 IP,是否可以加个 header 伪造一个
    watzds
        2
    watzds  
       2018-11-05 22:44:44 +08:00 via Android
    很难
    watzds
        3
    watzds  
       2018-11-05 22:46:17 +08:00 via Android
    这个服务器再开一个接口代理一下得了
    lsido
        4
    lsido  
       2018-11-05 22:47:03 +08:00 via Android
    在跑 php 的服务器上再做个接口使用 token
    watzds
        5
    watzds  
       2018-11-05 22:47:09 +08:00 via Android   ❤️ 1
    或者 nginx,lvs 代理
    Luckyray
        6
    Luckyray  
       2018-11-05 22:48:02 +08:00
    对网络不熟悉,胡侃几句。首先想到的是代理,其次他怎么确定的 ip ?源 ip 能伪造得吧,不然黑客就好抓啦。
    opengps
        7
    opengps  
       2018-11-05 22:48:59 +08:00 via Android
    在共享 ip 下,一台机器获取后给其他机器用
    lhx2008
        8
    lhx2008  
       2018-11-05 22:50:38 +08:00 via Android
    服务器开个代理下来本地用就行,或者提交给 php,php 原封不动转发上接口,并且返回接口内容就行。伪造啥,不存在的
    msg7086
        9
    msg7086  
       2018-11-06 01:42:15 +08:00
    要是能随随便便就突破,那对方程序员还是回家种田去吧……
    mingl0280
        10
    mingl0280  
       2018-11-06 01:58:05 +08:00
    服务器端开个代理,转发一下就行。
    lujiajing1126
        11
    lujiajing1126  
       2018-11-06 03:23:13 +08:00
    每个机器自己取 token,有什么问题吗?
    imaning
        12
    imaning  
    OP
       2018-11-06 05:31:23 +08:00 via iPhone
    @lhx2008 请问这个代理是 http ?还是其他的?有工具么?
    imaning
        13
    imaning  
    OP
       2018-11-06 05:32:27 +08:00 via iPhone
    @udev 伪造 header 不行
    imaning
        14
    imaning  
    OP
       2018-11-06 05:34:24 +08:00 via iPhone
    @lhx2008 转发需要用到什么函数或者方法啊?
    zeraba
        15
    zeraba  
       2018-11-06 07:34:03 +08:00 via Android   ❤️ 1
    把获取到的 token 输出,然后 nginx 或者 haproxy 中转这台机器 80 端口的请求
    xuanbg
        16
    xuanbg  
       2018-11-06 07:44:31 +08:00
    你用自己的 IP 去获取一个 Token 不就行了吗?
    imaning
        17
    imaning  
    OP
       2018-11-06 07:52:42 +08:00 via iPhone
    @xuanbg 因为有时效啊,想偷懒。
    Leigg
        18
    Leigg  
       2018-11-06 08:40:33 +08:00 via iPhone
    你家里的平板,电脑,手机连上 wifi 上网不都是一个 ip 么,有思路了没
    laxenade
        19
    laxenade  
       2018-11-06 08:44:34 +08:00 via Android   ❤️ 1
    如果你不依靠你的服务器做代理啥的然后假设对方实现方法正确,你要是能找到方法,你大概可以去 acm 开 conference 了。
    yinzhili
        20
    yinzhili  
       2018-11-06 09:09:13 +08:00
    PHP 服务器上开一个代理中转一下
    whi147
        21
    whi147  
       2018-11-06 09:23:47 +08:00 via Android
    内网穿透
    fengci
        22
    fengci  
       2018-11-06 10:17:58 +08:00
    NGINX 开个代理吧
    python35
        23
    python35  
       2018-11-06 10:32:33 +08:00
    http 基于 tcp,tcp 需要三次🤝,伪造 ip 的话三次握手都无法成功吧
    superlogin
        24
    superlogin  
       2018-11-06 13:34:38 +08:00
    15 楼正解,而且好操作
    Tapir
        25
    Tapir  
       2018-11-06 18:13:16 +08:00
    不用伪造的,而且也没法伪造。
    如果服务端你能控制,那你那个服务端 php 当个透代就行了。
    第三方先请求服务端 php,这个认证 ip 的服务端,带着 token 去干活儿,把返回的数据再扔给第三方。
    ritaswc
        26
    ritaswc  
       2018-12-02 15:54:36 +08:00
    ip 没法伪造
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2055 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:34 · PVG 08:34 · LAX 16:34 · JFK 19:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.