destoon php中如何禁止IP访问

2018-03-03 593浏览
在运营网站的过程中,经营有一些不怀好意的童鞋来网站上注册与发一些垃圾信息,这些人也是为了生计所迫,没有办法啊,站长家也没有多余的粮食啊.
如果不好改动程序,那就把他们的IP给屏蔽了吧,如果没有IIS的管理权那就使用程序来判断来访问者的IP吧.

本人使用的系统是Destoon,这个系统中有内置的方法,我们拿过来就用吧,由于我想屏蔽的只是注册页面,那么把这段放到register.php中吧

$BANIP = cache_read('banip_reg.php');
if($BANIP) banip($BANIP);

function banip($IP) {
global $DT_IP, $DT_TIME;
$ban = false;
foreach($IP as $v) {
if($v['totime'] && $v['totime'] < $DT_TIME) continue;
if($v['ip'] == $DT_IP) { $ban = true; break; }
if(preg_match("/^".str_replace('*', '[0-9]{1,3}', $v['ip'])."$/", $DT_IP)) { $ban = true; break; }
}
if($ban) message(lang('include->msg_ip_ban', array($DT_IP)));
}


banip_reg.php

<?php defined('IN_DESTOON') or exit('Access Denied');

return array (
0 => array ('ip' => '192.168.0.89','totime' => '0',),

);