现在的代码是:
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中的值是否相同,不相同则跳转到其他叶面
请各位老师指点
解决方案 »
- phpmailer 群发user表中mail的问题,急急急急.....
- smarty里能进行如下的算术运算吗
- 关于文件下载
- 请问apache下开启伪静态要改什么?我怎么总打不开这个功能呢?
- 利用404 伪静态???
- php5 是否存在mysqli_pconnect() 这个函数?
- web服务器在与下层服务器通讯过程中(结果还没返回),怎么实现进度条
- PHP+mysql的事物处理问题
- 谁有好用的UBB代码??
- 我下载安装了MYSQL,我的环境是WIN98+PWS+PHP4.04,网络都正常,一般的PHP程序也可以使用可是安装MYSQL后,却不能使用MYSQL,他告诉我localhost连接无效。怎么回事?我PING localhost都通啊
- 关于判断的问题 急急急
- 用 PEAR DB 访问SYBASE 始终syntax error,但在PB中能有结果,无语法错误。
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');