亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 請教一個獲取客戶端ip地址的問題 [打印本頁]

作者: qpfei$    時間: 2006-10-24 14:31
標題: 請教一個獲取客戶端ip地址的問題
在ASP里面可以用 Request.ServerVariables ("REMOTE_ADDR") 或者Request.ServerVariables ("HTTP_X_FORWARDED_FOR") 取得客戶端的地址,PHP里面也有類似的變量。

我的問題是:這些信息是放在http協(xié)議的什么地方的?

用Request.ServerVariables ("HTTP_X_FORWARDED_FOR")  可以取得透過代理之后的原始client端ip ,所以該值不可能是從ip層里抽出來的(事實上我覺得該值只有可能是代理自己加上去的,但不知道它寫在協(xié)議的什么地方); 我原本以為是在http 的 header里面的,但是在http的rfc里我又沒找到~~ http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14


知道的XD麻煩告知一下,若有相關文檔就更好了~~~
作者: geel    時間: 2006-10-24 16:07
就是header里面的。
作者: alvabbs    時間: 2006-10-24 17:32
try

getenv('HTTP_X_FORWARDED_FOR')

or

$_SERVER['HTTP_X_FORWARDED_FOR'];

[ 本帖最后由 alvabbs 于 2006-10-24 17:34 編輯 ]
作者: redflowflag    時間: 2006-10-24 20:53
print_r($_SERVER)



print_r($_ENV)

看一下這兩個變量,你要的答案都在這里
作者: huabingl    時間: 2006-10-24 21:02
兄弟,遇到這樣的問題,用google搜一遍比你發(fā)個貼用的時間少多了
作者: qpfei$    時間: 2006-10-25 11:43
原帖由 geel 于 2006-10-24 16:07 發(fā)表
就是header里面的。


是哪個段啊?http watch看不到,并且我在rfc里的確沒找到,能不能說詳細點?


后面樓的XD你們有沒有看懂我的帖子?我問的是這個ip地址在http的協(xié)議層的什么地方!

也就是說php 的 'HTTP_X_FORWARDED_FOR' 變量值是從什么地方取出來的,如果我沒有php,想要用tcpdump一類的sniffer把這個值拿出來應該看協(xié)議的哪幾個字節(jié)?
作者: geel    時間: 2006-10-25 15:15
這個值是proxy自動加到http請求頭部的。但是簡單的nat出去的是沒有這個值的。
作者: HonestQiao    時間: 2006-10-26 11:06

  1. //取的客戶端IP地址
  2. function getip() {
  3.         if (isset($_SERVER)) {
  4.                 if (isset($_SERVER[HTTP_X_FORWARDED_FOR])) {
  5.                         $realip = $_SERVER[HTTP_X_FORWARDED_FOR];
  6.                 } elseif (isset($_SERVER[HTTP_CLIENT_IP])) {
  7.                         $realip = $_SERVER[HTTP_CLIENT_IP];
  8.                 } else {
  9.                         $realip = $_SERVER[REMOTE_ADDR];
  10.                 }
  11.         } else {
  12.                 if (getenv("HTTP_X_FORWARDED_FOR")) {
  13.                         $realip = getenv( "HTTP_X_FORWARDED_FOR");
  14.                 } elseif (getenv("HTTP_CLIENT_IP")) {
  15.                         $realip = getenv("HTTP_CLIENT_IP");
  16.                 } else {
  17.                         $realip = getenv("REMOTE_ADDR");
  18.                 }
  19.         }
  20.         return $realip;
  21. }
復制代碼





歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2