destoonphp中如何禁止IP訪問

大東瓜123發表於2015-03-26

在運營網站的過程中,經營有一些不懷好意的童鞋來網站上註冊與發一些垃圾資訊,這些人也是為了生計所迫,沒有辦法啊,站長家也沒有多餘的糧食啊.
如果不好改動程式,那就把他們的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`,),

);


相關文章