dedecms 限制IP段访问、禁止IP提交表单的php代码

发布时间:2020-02-06编辑:脚本学堂
dedecms本身本身没有提供禁止IP的功能,评论中有很多垃圾信息,只好自己来想办法解决了,其实也简单,只要在feedback.php中进行相关的IP屏蔽即可。

将以下代码,用在提交评论的页面中,即可收到良好的效果。
如果您对dedecms不熟悉,建议先了解下dedecms 教程的相关内容。

<?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'];
}
//限制ip
if ($userip=='119.123.31.44'){
header("location:http://xxx.domain.com");//被禁止后跳转到xxx.dmain.com
exit;
}
//限制ip段
$ip_arr = explode('.', $userip);
#限制的ip段,假设是192.168.*.*
if (!(($ip_arr[0] == '192' && $ip_arr[1]=='168') )){
header("location:http://xxx.domain.com");//被禁止后跳转到xxx.domain.com
exit;
}else{
header("location:http://www.jb200.com");//正常IP则直接访问脚本学堂首页
exit;
}
?>