查看單個文章
  #2  
舊 2014-02-21, 10:41 AM
mushroom mushroom 目前離線
進階會員
 
註冊日期: 2006-01-09
文章: 315
預設

補充一下顯示 IP 的 PERL 程式碼:
代碼:
$ip  = "$ENV{'REMOTE_ADDR'}";
print <<EOF;
$ip
EOF
例:右上位置
http://dict.tw

說明:
REMOTE_ADDR 的值是由 TCP connection 取得的,不能藉由偽造 HTTP header 改變,但是使用者可能藉由 proxy 連線,因此可能顯示的是 proxy 的 IP。
開版大的變數 HTTP_CLIENT_IP 是考慮到 proxy 的因素,甚至有人表示須考慮 HTTP_X_FORWARDED_FOR,我個人實測心得:各 proxy 版本眾多,有些強調匿名,因此這兩個變數未必可信。
而且這兩個變數是可以偽造的 (spoofing)。
你可以用這個 php 程式看到三個變數:
代碼:
<?php
/** 顯示 3 種不同的 IP **/
echo 'HTTP_CLIENT_IP=' . $_SERVER['HTTP_CLIENT_IP'] . '<BR>';
echo 'HTTP_X_FORWARDED_FOR=' . $_SERVER['HTTP_X_FORWARDED_FOR'] . '<BR>';
echo 'REMOTE_ADDR=' . $_SERVER['REMOTE_ADDR'];
?>
__________________
線上字典
回覆時引用此篇文章