php5服务器上的php4 - 如何解决"未定义的索引:HTTP_CLIENT_IP"

时间:2015-03-11 19:22:19

标签: php php4

我已经将一个用php4编写的10年历史的自制论坛迁移到运行php5的新的共享主机服务器上。我发现了3个错误,如果专家能帮我解决,我将永远感激不尽。它们如下:

1)注意:未定义索引:第268行/usr/local/pem/vhosts/144229/webspace/httpdocs/banner.php中的HTTP_CLIENT_IP

2)注意:未定义索引:第269行/usr/local/pem/vhosts/144229/webspace/httpdocs/banner.php中的HTTP_X_FORWARDED_FOR

该部分如下:

// Patched function to detect REAL IP address ifit's valid
function getip(){
 global $HTTP_SERVER_VARS;
 if(validip($HTTP_SERVER_VARS['HTTP_CLIENT_IP'])) return $HTTP_SERVER_VARS['HTTP_CLIENT_IP'];
 elseif($HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR']!=""){
  $forwarded=str_replace(",","",$HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR']);
  $forwarded_array=split(" ",$forwarded);
  foreach($forwarded_array as $value) if(validip($value)) return $value;
 }
 return $HTTP_SERVER_VARS['REMOTE_ADDR'];
}

第三个错误是:致命错误:在第301行的/usr/local/pem/vhosts/144229/webspace/httpdocs/banner.php中调用未定义的函数sqlerr()

该部分内容如下:

function userlogin(){
 global $HTTP_SERVER_VARS,$SITE_ONLINE;
 unset($GLOBALS["CURUSER"]);
 $ip=getip();
 $nip=ip2long($ip);
 $res=mysql_query("SELECT * FROM bans WHERE $nip >= first AND $nip <= last") or sqlerr(__FILE__,__LINE__);
 if(mysql_num_rows($res) > 0){
  header("HTTP/1.0 403 Forbidden");
  print("<html><body><h1>403 Forbidden</h1>Unauthorized IP address.</body></html>\n");
  die;
 }

我在PHP中完全不称职,但我从我的Sysop继承了这个问题,他正在与癌症抗争,我没有其他人可以求助。

如何解决这些错误的想法和想法?谢谢你们 !!!

0 个答案:

没有答案