现在的代码是:
require_once('DB/CUSTOMER.class.php');
$db_cst = & new DB_CUSTOMER($connection);
$customer = array();
$ccd = $request->getParameter('c');
$list = array('DB_HOST', 'DB_PORT', 'DB_USER', 'DB_PASS', 'DB_NAME', 'CUSTOMER_NAME', 'FTP_USER', 'FTP_PASS','IP_CHECK_FLG');
if (!$db_cst->select($customer, $ccd, $list)) {
$request->setError('LOGIN_ERR_INVALID_URL');
return false;
}
else{
if ($customer['IP_CHECK_FLG'] == 1) { global $_SERVER;
if (isset ($_SERVER["HTTP_X_FORWARDED_FOR"])) {
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
elseif (isset ($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
}
需要添加一段判断本地IP是否与字段IP_CHECK_LIST中的值是否相同,不相同则跳转到其他叶面
请各位老师指点
require_once('DB/CUSTOMER.class.php');
$db_cst = & new DB_CUSTOMER($connection);
$customer = array();
$ccd = $request->getParameter('c');
$list = array('DB_HOST', 'DB_PORT', 'DB_USER', 'DB_PASS', 'DB_NAME', 'CUSTOMER_NAME', 'FTP_USER', 'FTP_PASS','IP_CHECK_FLG');
if (!$db_cst->select($customer, $ccd, $list)) {
$request->setError('LOGIN_ERR_INVALID_URL');
return false;
}
else{
if ($customer['IP_CHECK_FLG'] == 1) { global $_SERVER;
if (isset ($_SERVER["HTTP_X_FORWARDED_FOR"])) {
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
elseif (isset ($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
}
需要添加一段判断本地IP是否与字段IP_CHECK_LIST中的值是否相同,不相同则跳转到其他叶面
请各位老师指点
function compare_IP(){
//获取真实IP
$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
//分割IP
$ip_a_arr = split(".",$user_IP);//分割IP_CHECK_LIST
$ip_b_arr = split(".",IP_CHECK_LIST);//相同与否的标志
$flag = true;
for($i=0; $i<4; $++){
if($ip_a_arr[$i]!=$ip_b_arr[$i]){
$flag = false;
break;
}
}
上面介绍上是大致的算法,具体要修改下,看行否
if (isset ($_SERVER["HTTP_X_FORWARDED_FOR"])) {
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
elseif (isset ($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
这个能取到本地ip,然后后面的判断好
if ($realip == $customer['IP_CHECK_LIST']){
$a=1;
}
else {
$a=0;
}
后则么在tpl里面判断,1的话给个框,0的话就正常显示
$smarty->assign('list',$a);
$smarty->display('login.tpl');