php中禁止单个IP与ip段访问的代码小结

2015-01-24信息快讯网

今天网上有人问我php中如何禁用ip访问,通过测试发现如下的代码不错,原理也比较简单

禁止单个IP
<?php
//加IP访问限制
if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
$userip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
$userip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
$userip = getenv('REMOTE_ADDR');
} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
$userip = $_SERVER['REMOTE_ADDR'];
}
$banned_ip = array (
"127.0.0.1",
"203.0.0.1",
"56.12.50.65",
"192.168.1.88"
);
if (in_array($userip,$banned_ip))
{
die ("Your IP is block to connect !");
}
echo "脚本之家测试";
?>
禁止IP段
 
<?php 
//加IP访问限制 
if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { 
$userip = getenv('HTTP_CLIENT_IP'); 
} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) { 
$userip = getenv('HTTP_X_FORWARDED_FOR'); 
} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) { 
$userip = getenv('REMOTE_ADDR'); 
} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) { 
$userip = $_SERVER['REMOTE_ADDR']; 
} 
$ban_range_low=ip2long("217.0.0.0"); //ip段上 
$ban_range_up=ip2long("217.255.255.255");//ip段尾 
$ip=ip2long($userip]); 
if ($ip>$ban_range_low && $ip<$ban_range_up) 
{ 
print "Banned"; 
exit(); 
} 
?> 
php中限制ip段访问、禁止ip提交表单的代码分享
关于PHP堆栈与列队的学习
浅析PHP 按位与或 (^ 、&)
浅析PHP中Collection 类的设计
解析PHP无限级分类方法及代码
PHP 循环删除无限分类子节点的实现代码
用Json实现PHP与JavaScript间数据交换的方法详解
深入解析yii权限分级式访问控制的实现(非RBAC法)
php生成zip压缩文件的方法详解
PHP转换IP地址到真实地址的方法详解
探讨如何在PHP开启gzip页面压缩实例
PHP stripos()函数及注意事项的分析
使用cookie实现统计访问者登陆次数
如何设置mysql允许外网访问
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
PHP无法访问远程mysql的问题分析及解决
PHP写的求多项式导数的函数代码
提高php运行速度的一些小技巧分享
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
php下载文件的代码示例
PHP sprintf() 函数的应用(定义和用法)
php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
php中用于检测一个地理IP地址是否可用的代码
php使用Smarty的相关注意事项及访问变量的几种方式
PHP 中检查或过滤IP地址的实现代码
php数组函数序列之array_flip() 将数组键名与值对调
php中获取远程客户端的真实ip地址的方法
php设计模式 Visitor 访问者模式
php设计模式 DAO(数据访问对象模式)
php利用cookie实现访问次数统计代码
php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
PHP中限制IP段访问、禁止IP提交表单的代码
©2014-2024 dbsqp.com