取得客户端的IP,$_SERVER["REMOTE_ADDR"]
IP不在范围不给访问。
解决方案 »
- zend studio eclipse中如何能将thtml识别为php文件或html文件呢?
- 求前辈指点PHP配置apache2.2+php5.2+mysql5.0
- 上海地区,急招PHP程序员!!!
- include的文件怎么出错?
- 求助!在线等!关于PHPexcelreader!
- php+xml实现无刷新聊天室的问题。
- PHP局域网测试问题~~获解送分!
- EBB论坛正式提供下载
- 当网页input提交变量后,$_POST[]代码虽能正确运行得到数据,但总是显示警告,困惑中!
- 运行phpmyadmin后,出现错误:MySQL said:
- 关于set_time_limit函数的用法,问题没有解决,再三次问
- Function registration failed
if(eregi("^192.168.0.",$_SERVER['REMOTE_ADDR'])){
echo "可以访问";
} else {
echo "拒绝访问";
}
----------------
限制整个网站(apache服务器)在httpd.conf中:
deny from all
allow from 192.168.0.x
===>if(eregi("^192\.168\.0\.",$_SERVER['REMOTE_ADDR'])){
{
if(getenv('HTTP_CLIENT_IP'))
{
$onlineip = getenv('HTTP_CLIENT_IP');
}
elseif(getenv('HTTP_X_FORWARDED_FOR'))
{
$onlineip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif(getenv('REMOTE_ADDR'))
{
$onlineip = getenv('REMOTE_ADDR');
}
else
{
$onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
}
return $onlineip;
}
function estop($ips)
{
global $db;
$ip = explode('.',$ips);
$sql = "select * from ipestop";
$db->query($sql);
while ($banned = $db->records())
{
$exists = 0;
for($i = 1; $i <= 4; $i++)
{
if($banned["ip$i"] == -1)
{
$exists++;
}
elseif($banned["ip$i"] == $ip[$i-1])
{
$exists++;
}
}
if($exists == 4)
{
die("该IP 已经被禁止访问!");
}
}
}表结构:
CREATE TABLE ipestop(
id smallint(6) unsigned NOT NULL auto_increment,
ip1 smallint(3) NOT NULL default '0',
ip2 smallint(3) NOT NULL default '0',
ip3 smallint(3) NOT NULL default '0',
ip4 smallint(3) NOT NULL default '0',
PRIMARY KEY (id),
KEY ip1 (ip1),
KEY ip2 (ip2),
KEY ip3 (ip3),
KEY ip4 (ip1)
) TYPE=MyISAM;