织梦dedecms搜索功能禁止特定地区用户访问
更多精彩就在: 51免费论文网|www.jxszl.com
了.
目前网络上有很多资源,例如著名的珊瑚虫ip数据库,但是其文件在本地,得定时更新.我们现在使用淘宝ip数据库,通过json返回的数据来解析ip是否某地区,下面以"上海市"为例:
首页找到dedecms底下plus下的search.php文件,查找以下代码
if($cfg_notallowstr!=&&preg_match("#".$cfg_notallowstr."#i",$keyword))
{
ShowMsg("你的搜索关键字中存在非法内容,被系统禁止!","-I.");
exit();
}
在上面加入
functionget_ip_data(){
$ip=file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".get_client_ip());
$ip=json_decode($ip);
if($ip->code){
returnfalse;
}
$data=(array)$ip->data;
if($data[city]==上海市&&!isCrawler()){
//exit(http://www.adminbuy.cn);
returntrue;
/*header("location:".getenv("HTTP_REFERER"));//返回其调用页面*/
}
}
functionisCrawler(){
$spiderSite=array(
"TencentTraveler",
"Baiduspider+",
"BaiduGame",
"Googlebot",
"msnbot",
"Sosospider+",
"Sogouwebspider",
"ia_archiver",
"Yahoo!Slurp",
"YoudaoBot",
"YahooSlurp",
"MSNBot",
"Java(Oftenspambot)",
"BaiDuSpider",
"Voila",
"Yandexbot",
"BSpider",
"twiceler",
"SogouSpider",
"SpeedySpider",
"GoogleAdSense",
"Heritrix",
"Python-urllib",
"Alexa(IAArchiver)",
"Ask",
"Exabot",
"Custo",
"OutfoxBot/YodaoBot",
"yacy",
"SurveyBot",
"legs",
"lwp-trivial",
"Nutch",
"StackRambler",
"Thewebarchive(IAArchiver)",
"Perltool",
"MJI.IIbot",
"Netcraft",
"MSIECrawler",
"WGettools",
"larbin",
"Fishsearch",
);
if(in_array(strtolower($_SERVER[HTTP_USER_AGENT]),$spiderSite)){
returntrue;
}else{
returnfalse;
}
}
//获取客户端ip
functionget_client_ip()
{
if(isset($_SERVER)){
if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$realip=$_SERVER["HTTP_X_FORWARDED_FOR"];
}elseif(isset($_SERVER["HTTP_CLIENT_IP"])){
$realip=$_SERVER["HTTP_CLIENT_IP"];
}else{
$realip=$_SERVER["REMOTE_ADDR"];
}
}else{
if(getenv("HTTP_X_FORWARDED_FOR")){
$realip=getenv("HTTP_X_FORWARDED_FOR");
}elseif(getenv("HTTP_CLIENT_IP")){
$realip=getenv("HTTP_CLIENT_IP");
}else{
$realip=getenv("REMOTE_ADDR");
}
}
return$realip;
}
if(get_ip_data())
{
ShowMsg("你的IP被禁止!","-I.");
exit();
}
保存文件后,你让上海市的朋友访问,系统就会提示"你的IP被禁止!"的提示
原文链接:http://www.jxszl.com/biancheng/dedecms/75343.html
热门阅读