WordPress 限制IP访问及相关

禁止某个IP访问网站可以修改.htaccess文件吧。
如果是禁止几个IP发送评论,后台->选项->评论->评论黑名单,把你要禁止的ip地址填上,一个一行。

如果评论内容经常出现某些词,也可以在这里填上,比如我就填了一个"色情"。还有评论者的名称、email、url、评论内容、UA,都会和黑名单进行比较的。

如果你填上"firefox",还可以禁止所有使用firefox浏览器的人发送留言,这一招对于那些恨firefox入骨的人有点用处,嘿嘿。

.htaccess相关
1.URL静态操作

# 将 RewriteEngine 模式打开
RewriteEngine On

# 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /
RewriteBase /bbs

# Rewrite 系统规则请勿修改
RewriteRule ^archiver/([a-z0-9\-]+\.html)$ archiver/index.php?$1
RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2
RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&extra=page\%3D$3&page=$2
RewriteRule ^profile-(username|uid)-(.+)\.html$ viewpro.php?$1=$2

之后,就发现域名导向又出问题了
www.ghsky.cn/bbs 会变成 ghsky.cn/bbs
这个时候只要再添加下面的代码就可以了

RewriteCond %{HTTP_HOST} !^www.ghsky.cn$ [NC]
RewriteRule ^(.*)$ http://www.ghsky.cn/bbs/$1 [R,L]


2.使用PHP或.htaccess限制IP访问(来自http://www.lenoza.com/seo/php-htaccess-ban-ip/)
我在很多网站实战过程中都经历过这样的事情:有些人使用各种IP来进行spam或者利用程序来进行网站内容抓取。这样的不道德行为为我们网站带来了很大的负担。另外,由于一些搜索引擎爬虫不遵守固定协议,对网站大量的抓取和重复爬行,给网站服务器造成重大压力。这些情况都需要我们及时处理,否则给网站带来的伤害是很大的。通过使用PHP或.htaccess对固定IP进行限制访问在做网站优化以及网站基础部署中都是有用的,可以有效防止采集和Spam来源。

如果你能获取捣乱来源的IP,那么可以利用网站程序自带的IP禁止将其IP ban掉,或者如果你的服务器支持PHp,那么可以使用以下代码实现对固定IP的限制访问。

<?php
if($_SERVER['REMOTE_ADDR'] == "192.168.1.123"){
exit();
}
?>

这个代码有个缺陷,就是每次都需要在网页上添加IP,对于要限制的IP地址比较多的时候,就比较繁琐。那么可以使用以下代码减轻你的网站负担。

<?php
$banned = file("ban_ip_list.dat");
if(in_array($_SERVER['REMOTE_ADDR'], $banned)){
echo "你的IP属于被禁止访问列表。如果问题请与站长联系。";
exit();
}
?>

这样只需要在ban_ip_list.dat里面每行添加一个IP就可以实现IP禁止了。

如果网站不支持PHP或者需要禁止的IP特别多,那么我们可以利用.htaccess来实现限制效果。

Order Deny,Allow
Deny from xxx.xxx.xxx.xxx
Deny from xxx.xxx.xxx

One Comment For This Post

  1. Gravatar
    Louis Han Says:

    这两天被垃圾评论烦死了 ban 他们 IP!

    回复该留言

Leave a Reply

:wink: :twisted: :surprised: :smile: :sad: :rolleyes: :redface: :razz: :question: :neutral: :mrgreen: :mad: :lol: :idea: :exclaim: :evil: :eek: :cry: :cool: :confused: :biggrin: :arrow: