Apache添加ip黑名单:.htaccess限制特定IP地址(段)访问

本来指望用阿里云云盾有黑名单功能的,看来是指望不到了,有两个IP每一分钟都在不停的评论,搞得wordpress进后台总是想崩溃!!

今天终于还是决定通过服务器本身过滤掉这俩IP好了,

Linux可以通过两种方法添加IP过滤。

1、通过iptables规则
可以参考Linux防火墙规则设置,太多了,这里就不写了

2、通过Apache网站根目录里的htaccess文件加过滤

#添加IP黑名单

Order Deny,Allow
Deny from 121.42.17.220
Deny from 42.120.107.28

如果你想过滤IP地址段,可以写成
Deny from 42.120.107.28/24

这样可以过滤掉 42.120.107.1~42.120.107.255范围的所有IP访问网址

。。。

重启下apache服务,世界终于清静了。

Centos 5.8 开启apache rewrite(rewrite_module模块),支持.htaccess

系统环境 Centos 5.8
apache 2.2

首先检查一遍 /etc/httpd/conf/httpd.conf 中

#LoadModule rewrite_module modules/mod_rewrite.so

前面去掉#号

若网站是根目录,可以找到:


Options FollowSymLinks
AllowOverride None

将上面的None改为All

若站点不在根目录:

Order allow,deny
Allow from all
AllowOverride All

若网站是虚拟VirtualHost,
可以把上面的
嵌入

格式为:
AllowOverride All

centos-rewrite-htaccess

OK,然后重启服务器,service httpd restart ,这样.htaccess就可以使用了。

配置Apache/2.2.16 (Debian) 支持 .htaccess

配置apache2.2 伪静态

第一步:修改sites-available中对应的网站配置文件(以默认配置文件default为例)
nano nano /etc/apache2/sites-available/default

找到以下语句

AllowOverride None

修改为

Options FollowSymLinks
AllowOverride All

第二步:载入rewrite.load(默认装好后apache是没有建立文件连接的)
#cd /etc/apache2/mods-enabled
#ln -s ../mods-available/rewrite.load rewrite.load

第三步:重启apache
/etc/init.d/apache2 restart

Modoer 1.2升级2.0后URL变更的301跳转引导搜索引擎的“.htaccess”规则

这两天抽空把“洛阳生活网”使用的点评程序 Modoer 从1.2版升级到2.0了。
有个问题是原来的链接“失效”了,使用官方提供的PHP文件重定向不起作用,就只好自己动手了!!下面是店铺的“.htaccess”伪静态规则。

Modoer 1.2升级2.0后URL变更的301跳转引导搜索引擎的“.htaccess”规则:

#RewriteRule ^shop/(shop_|)([0-9]+)$ index.php?Rewrite=item-$2

RewriteRule ^shop/(shop_|)([0-9]+)$ item-$2.html [L,R=301]

把这两条中的一条添加到官方发布的“ 伪静态规则”最后一条“RewriteRule”之前就可以了。

其中第一条是不改变原来链接的,也就是原来的 “shop/shopid”格式的链接还是可以继续使用。第二条是把原来的“shop/shopid”形式的链接301重定向到新的“item-shopid.html”格式。

PS:由于我的资讯内容由于疏于审核,在升级之后就都“消失”了,,就没有写资讯的规则了。。用到的朋友可依葫芦画瓢,模仿下就是了。。

附注(以下是我使用的规则写法,仅供参考):

# html
#...

RewriteRule ^shop/(shop_|)([0-9]+)$ item-$2.html [L,R=301]

RewriteRule ^(article|...graph)\-(.+)\.html$ index.php?Rewrite=$1-$2.html [L]
# html

了解更多重新向的知识可以参考:
把访问其他主机名地址重定向到指定主机名(域名)
Apache开启Rewrite环境
把带WWW域名301重定向到不带WWW的域名
301重定向实现方式
用telnet检测网址返回的头部信息状态码

WordPress 搜索引擎优化:启用 Gzip 压缩编码

Google已经把网站速度加入搜索引擎排名因素之一,如果你的WP载入速度缓慢,可以考虑启用Gzip压缩编码和缓存你的Wordpress,从而提高网站整体加载时间。

面对Wordpress丰富的插件来说,启用Gzip与进行缓存,都是非常容易的事,这里就不说了。。

通过“.htaccess”来实施启用Gzip压缩编码的方法:

主要对文本类型比如HTML、CSS和JavaScript进行压缩(不会压缩图片)。
在你的“.htaccess”中添加以下“代码”就可以了(注意格式,偶没有使用code插件,所以下面代码的一些语句需要自行修改下的,半角和全角。。)

#Gzip by clin003.com
< ifmodule mod_deflate.c >
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
< /ifmodule >
#End Gzip by clin003.com

通过php语句启用 Gzip压缩编码的方法(针对Wp的修改):

1、下载你的wp首页文件index.php。
2、可以看到大部分为注释,其实只有两行代码。
3、在第一行(紧挨着 ?php 写即可)添加以下语句即可。

ob_start(“ob_gzhandler”);

添加后的效果类似这样的:

ob_start(“ob_gzhandler”);
/**
* Front to the WordPress application. This file doesn’t do anything, but loads
* wp-blog-header.php which does and tells WordPress to load the theme.
*
* @package WordPress
*/

3、上传覆盖原来的index.php即可。
4、可以通过gzip验证工具检测下压缩效果。。当然也可以使用“Live HTTP headers”来查看加载前后的信息(目前我这个blog:clin003.com的压缩比达到+68%,压缩前的大小为 42,423 bytes,压缩后为 13,029 bytes ,当然这个随着日志更新应该会不一样的 )。

(PHP)实现http跳转https

今天在空间里秘密放了个PHProxy,不想被关注,即便被关注也不能让看到在做什么,于是偶就想到给这个目录做始终加密连接。下面是实现方法(偶用的第一种php实现跳转到https)。
PS:而后会考虑使用IP限制访问。

PHP实现http跳转到https

在网页开头加入以下代码:

  1. <?php
  2. //http转化为https
  3. if ($_SERVER[“HTTPS”]<>”on”)
  4. {
  5. $xredir=”https://”.$_SERVER[“SERVER_NAME”].
  6. $_SERVER[“REQUEST_URI”];
  7. header(“Location: “.$xredir);
  8. }
  9. ?>

参考自:PHP实现http与https转化

IIS ASP实现Http跳转https

If Request.ServerVariables(“HTTPS”) = “off” Then
Response.Redirect “https://” & Request.ServerVariables(“HTTP_HOST”) & “/Exchange”
End If

可以参考这里:http://support.microsoft.com/kb/839357/en-us

.htaccess 配置重定向http跳转到https

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/?(.*)$ https://%{SERVER_NAME}/$1 [L,R]

参考自:http 跳转到https的问题

也可以这样写:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

附注:以上实现http跳转https方法除asp外都经过测试成功。

关于 .htaccess 文件的更多使用技巧阅读:

允许浏览目录(目录列表)访问,让爬虫更轻松的索引网站文件
把访问其他主机名地址重定向到指定主机名(域名)
Apache开启Rewrite环境
apache配置rewrite(静态化)
学习 WordPress安全白皮书