通过得到客户端IP,和从数据库中得到IP位数
来源:互联网 发布:万科荣华金域名城 编辑:程序博客网 时间:2024/05/22 02:14
<?
/*********
实现思想:通过得到客户端IP,和从数据库中得到IP位数
将两者做与操作得到网段,再与数据库中的网段进行比较
**********/
function clearIp(){
$fromIp = $_SERVERS['REMOTE_ADDR'];
$isForbid = false;
$result = mysql_query('Select `ip` From `forbid_ip_table`');
while(!$result){
$ipRage = explode('/',$result['ip']);
$forbidIp = $ipRage[1];//IP段
$maskLen = $ipRage[0];//子码位数
if(getIpRage($fromIp,$maskLen) == $ofrbidIp){
$isForbid = true;
break;
}
}
if($isForbid){
header('Location:error.html');
}
}
//将IP通过与子网掩码与操作得到网段
function getIpRage($ipAddress,$maskLen){
$ipArr = explode('.',$ipAddress);
$binStr = '';
$ipRage = '';//返回的IP
for($i = 0 ;$i<count($ipArr); $i++){
$binStr = decbin($ipArr[$i]);
if(strlen($binStr)<8){
$zero = '';
for($z = 0;$z<8-$binStr; $z++){
$zero .='0';
}
$binStr .= $zero;
}
$tempIp = '';//局部变量
for($j = 0; $j<8; $j++ ){
$yesOrNot = $maskLen >0?1:0;
$tempIp .= $binStr[$j]==$yesOrNot?$yesOrNot:0;
$maskLen--;
}
$ipRage .= bindec($tempIp).'.';
}
return $ipRage;
}
//以下可以测试
$arr = getIpRage('192.168.112.122',14);
print_r($arr);
?>
- 通过得到客户端IP,和从数据库中得到IP位数
- 从SOCKADDR 中得到IP
- 从数据库中得到IP地址,在DataGridView中排序
- 得到客户端真实ip
- 得到客户端IP地址
- jsp中得到客户端真实ip地址
- jsp中得到客户端真实ip地址
- 如何得到客户端的ip
- 得到客户端的IP地址
- 通过SOCKET 得到IP地址
- 通过主机名得到IP地址
- C++通过域名得到IP
- vb中从域名得到IP及从IP得到域名
- 通过远程连接socket得到客户端的IP和连接端口
- DB权限得到数据库IP
- 用ASP代码得到客户端IP和当前地址
- 外网得到客户端IP和MAC地址
- DataSnap服务器如何得到客户端的IP和端口
- 深入嵌入式系统的 BootLoader
- 使用Win2003 R2实现对文件夹的限额
- DATE_GET_MONTH_LASTDAY 函数之怪事
- 高性能网页开发新20条规则详解
- 等待的投资
- 通过得到客户端IP,和从数据库中得到IP位数
- fatal error C1033 cannot open program database "vc60 pdb"
- 简单易于理解的C#事件代理例子
- ASP.NET中表格的灵活使用
- 序列化
- Struts+Hibernate数据表示
- 统计学习,SVM和Kernel method资料
- 正则 表达式使用说明
- JAVA学习提高之----简单克隆与深度克隆的思考