免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5539 | 回复: 7
打印 上一主题 下一主题

cURL登录,服务器如何得知客户端IP [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-05-24 15:23 |只看该作者 |倒序浏览
5可用积分
请教大家

有服务器A,B。 A是自己的服务器,执行PHP程序, B为一个他人的服务器,有帐户可登录。
现在的问题是 用户访问A上的网页程序a.php, a.php执行curl登录B服务器,如何让B服务器知道这次访问的来源是用户的IP,而不是A服务器的IP。

我看了curl帮助好久,curl中没有设定来源IP的选项,也想不到其它方法实现相同功能。大家说说看呢?

最佳答案

查看完整内容

你既然不能从a.php传参数但b.php,那唯一的办法是把这个请求留给用户来提交。a.php里写个表单,然后用js来提交表单。服务器判断用户ip是通过建立的socket句柄来判断的。a.php是由a服务器提交的,所以无法定位到用户。

论坛徽章:
0
2 [报告]
发表于 2010-05-24 15:23 |只看该作者
你既然不能从a.php传参数但b.php,那唯一的办法是把这个请求留给用户来提交。a.php里写个表单,然后用js来提交表单。

服务器判断用户ip是通过建立的socket句柄来判断的。a.php是由a服务器提交的,所以无法定位到用户。

论坛徽章:
0
3 [报告]
发表于 2010-05-24 16:14 |只看该作者
本帖最后由 ChinaTelecom 于 2010-05-24 16:16 编辑

可以用curl_setopt 的CURLOPT_HTTPHEADER选项加上你想带上的头部

论坛徽章:
0
4 [报告]
发表于 2010-05-24 17:06 |只看该作者
回复 2# ChinaTelecom

大哥,是这样吗?
curl_setopt($ch,CURLOPT_HTTPHEADER,'Host:ip:port')

port一般用多少啊,80是服务器的端口,本机的是?

论坛徽章:
0
5 [报告]
发表于 2010-05-25 12:17 |只看该作者
登录B时把ip放参数里

论坛徽章:
0
6 [报告]
发表于 2010-05-25 12:39 |只看该作者
回复 4# newcnad


    B服务器没要求输入IP参数

论坛徽章:
0
7 [报告]
发表于 2010-06-01 13:43 |只看该作者
回复 6# sunceenjoy


    道理想想也是这样的。但有个函数 curl_setopt($ch, CURLOPT_REFERER, 'https://...')可以设定前次网页地址,如果B服务器依此判断的话,便是可行。谢谢答复。

论坛徽章:
0
8 [报告]
发表于 2011-05-23 12:59 |只看该作者
这个是得不到IP,

不知道CURL有没有其它的隐藏参数,会记录的有客户端的IP

如果用SETOPT 这个,应该也不行,如果我们不能控制提交站的程序的话,就没法得到这个真实的IP
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP