Ecshop巧用.htaccess提高网站的安全性

网站安全性不容小视,尤其是是对于后台管理目录的访问需要格外的严格控制,否则一旦被人得到网站管理员的密码,再通过后台管理可能的上传操作就可以 拿下整个网站了。但是,目前一般来说我们对后台管理的权限都是通过程序本身的密码限制的,而程序本身的密码又受到了自身的安全性限制。因此需要更为底层的 访问限制来保障网站的安全性。当然,备份工作也不能忽视。

.htaccess文件便是Apache下的一个分布式配置文件,其对于网站的各种功能配置有非常重要的作用,我们也可以通过这个文件来限制对网站的访问。下面我将具体说明配置方法:

1、为网站的重要目录(比如后台管理)设置Apache访问控制密码。

首先建立一个名称为.htpasswd的文本文件,里面输入设置好的访问控制用户名和密码。文件内容涉及到加密算法,首先打开 http://www.wangqu.org/htaccess/ 在线生成页面,然后选择“文件夹密码保护”栏目,让你后输入你想要的用户名和密码,最后点击“创建.htpasswd内容”按钮,下面将会显示该文件的内 容。

注意,该文件的内容应该类似于:

username:gQQ/SeV/5y2bM

冒号前面的是用户名,后面的是加密后的密码,请不要手动更改。创建完成后,请将此文件上传至无法通过HTTP访问到的目录下,然后记录下这个文件的绝对路径。

上传后,手动建立一个内容如下的名为.htaccess的文件:

AuthUserFile /home/foo/bar/.htpasswd
AuthGroupFile /dev/null
AuthName “Please enter your ID and password”
AuthType Basic require valid-user

其中第一行“/home/foo/bar/.htpasswd”为.htpasswd文件的绝对地址,请根据实际情况进行修改。然后将此文件上传到需要保护的目录下即可。

此时,访问受保护的目录,将会弹出一个需要登录获取访问权限的窗口,输入你设置的用户名和密码,才能看见程序的登陆页面。并且,这个密码是非常安全 的。它并没有记录在网站的数据库中,也没有记录在网站的目录下。并且,任何对受保护目录的访问都需要进行授权。因此安全性非常高。

2、阻止某些IP对网站的访问。

比如希望阻止某一IP对网站的访问以提高安全性,可以直接将IP地址拒绝。也是通过.htaccess文件实现。在.htaccess文件中加入以下内容:

order deny,allow<
deny from 202.103.100.21

上面的127.0.0.1即是网站拒绝需要访问的IP地址。然后将.htaccess文件上传到网站的根目录下即可。

3、限制某些目录的访问权限和执行权限

利用.htaccess的ReWrite规则,可以限定特定目录的访问权限和执行权限。例如,模板设计师都不希望模板源文件被人从前台直接访问到,如SHOPEX的themes目录,DEDECMS的templets目录,我们添加一个禁止直接访问的规则。

<IfModule mod_rewrite.c>
RewriteEngine  on
RewriteRule (themes)/(.*).(php|htm|xml)$ – [F]
</IfModule>

上述代码的意思是,禁止直接访问themes目录下的php、html、xml文件。这样,如果对方试图直接访问你的模板源代码或者试图在该目录下执行php文件时,将返回404(页面不存在)错误。

我们的网站目录下总有一些文件夹是必须开放写入权限的,这些文件夹一般只是用来生成缓存文件或者静态html文件,一般不需要开放执行权限。有些黑客在获得BUG后,通过注入方式往有权限的文件夹写入文件,再执行恶意代码。我们可以用规格拒绝这些恶意行为:

<IfModule mod_rewrite.c>
RewriteEngine  on
RewriteRule (html|upload|data)/(.*).(php)$ – [F]
</IfModule>

说明:禁止从html文件夹和upload文件夹执行php代码。

4、用.htaccess定义404错误提示页面

在.htaccess文件中加入以下代码:

ErrorDocument 404 /error/404.html

其中,error为存放错误页的目录,404.html是错误页文件。

评论0

请先

社交账号快速登录