关于获取ASP获取IP的问题

umbrella1984 2008-04-16 02:02:27
有3个程序,我暂称为A,B,C,其中B程序是我们可以更改的。

我要的结果是:C必须获得A的IP地址。

工作流程:A桌面程序访问B,B的ASP程序再将数据传给另外一台服务器的C的ASP程序,然后C的ASP程序记录IP地址,但这时候问题来了,因为C记录到的是B的IP地址,而不是A的,如果在B里通过response.redirect转向到C,C是可以记录到A的IP地址,但因为B要进行多次转发,但response.redirect只能执行一次然后就跳到其他页面了,我想问,在只能改B程序的情况下是否有其他办法可以让C记录到A的IP地址,或者能实现response.redirect的功能但可以跳转执行其他ASP程序多次。


ps:解决的话另加200分。
...全文
1331 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yifanwu 2008-04-16
  • 打赏
  • 举报
回复
楼主觉得如果你的网站连访问者的IP地址都得不到,或者访问者随便给你一个IP地址(不用代理)。

就像一个人打了你却看不到他,骂了你不知道是谁!踹你一脚你也不知道他是谁。

这世界没有绝对的隐身衣的
  • 打赏
  • 举报
回复
如果可以使用的AJAX,就可以实现提交多个转发
  • 打赏
  • 举报
回复
A桌面程序访问B,B的ASP程序再将数据传给另外一台服务器的C的ASP程序

就这一点,你明确了吗?B程序你是靠什么传数据给C的?

B要进行多次转发

进行多次转发?你指得何种转发,你只要是跳转页面的话,就只能转发一次,要多次转发一般是把其他要转发程序都包含在B内执行的
  • 打赏
  • 举报
回复
[Quote=引用楼主 umbrella1984 的帖子:]
有3个程序,我暂称为A,B,C,其中B程序是我们可以更改的。

我要的结果是:C必须获得A的IP地址。

工作流程:A桌面程序访问B,B的ASP程序再将数据传给另外一台服务器的C的ASP程序,然后C的ASP程序记录IP地址,但这时候问题来了,因为C记录到的是B的IP地址,而不是A的,如果在B里通过response.redirect转向到C,C是可以记录到A的IP地址,但因为B要进行多次转发,但response.redirect只能执行一次然后就跳到其他页面了,我想…
[/Quote]

你C是如何获取B的数据的?既然可以获取B的数据,那么就可以获取A的IP
MeXP 2008-04-16
  • 打赏
  • 举报
回复
还是你这个帖子写得详细些
前提:就是C不能改,所以你必须用它的remote_addr
(一)
这里存在一个服务器取A地址,生成B静态页面,再提交的过程.
只能修改B,不能都A和C,B倒是可以做手脚,可以伪造B地址为A的。
我没有做过,你可以查查资料
(二)
Server.Execute 方法
你测试一下,看看能不能满足你的要求,将C包含在B的上下文里面,执行,看看能否取到A的地址。
umbrella1984 2008-04-16
  • 打赏
  • 举报
回复
那要怎么做呢,如果在B里用JS访问C,C获取的IP会不会是B的而不是A的?
  • 打赏
  • 举报
回复
JS只需要一个宿主
  • 打赏
  • 举报
回复
......JS代码不一定要浏览器才可以执行的
umbrella1984 2008-04-16
  • 打赏
  • 举报
回复
说错了,C程序是用Request.ServerVariables("REMOTE_ADDR")获取IP的。
umbrella1984 2008-04-16
  • 打赏
  • 举报
回复
to MeXP :

一:没找到相关的伪造IP的资料

二:有试过,但是因为Execute所执行的ASP文件里有跳转,这个情况是一样的。


to chinmo :C是根据访问的时候URL参数获取的,但是B并没有把A的IP地址传给C,所以C是主动用Request.ServerVariables("REMOTE_ADDR")这行获取的IP。


另外:AJAX不行,因为A是桌面程序不是浏览器,不会执行JS代码,整个流程是这样的:A访问B,B才会访问C,并且B要访问C多次。
zl_c 2008-04-16
  • 打赏
  • 举报
回复
ASP的什么SERVER对象可以获取IP?没听说啊。
lsf5921 2008-04-16
  • 打赏
  • 举报
回复
让b获取吧,要不我也不直达了
umbrella1984 2008-04-16
  • 打赏
  • 举报
回复
另外说了,C程序是用server对象主动获取IP的,不是由B传递过去的。
zl_c 2008-04-16
  • 打赏
  • 举报
回复
可以通过POST参数来传递程序A程序的IP.程序B记录A过来的IP,B程序在多次转发的过程中,一直保持传递保存了A的IP的参数,直到B程序转发结束,最后向C传递这个保存IP值的参数,C程序取这个参数的值.

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧