用Rewrite增强ThinkPHP框架中应用程序的安全性


  用了ThinkPHP框架一段时间后,感觉这是一个挺爽的PHP框架,用着舒服,但了解深入一点之后,感觉在安全性方面还有一点事情要做做。

 

  对于ThinkPHP框架,他有固定的文件目录和一些固定的文件名称,所以,对于一个应用,有很多文件名称和目录是可以猜测出来的,这样我们就可以通过该文件的URL直接访问,绕过了ThinkPHP框架的访问模式,特别是在Tpl目录和Lib目录,这两个地方都是关键地方,如何才能阻止直接对这几个目录进行访问呢?我用到的方法是Apache服务器的Rewrite。

 

  首先,在http.conf配置文件中启用和配置好Rewrite模块。在该文件中增加如下配置信息:

 

  (1)LoadModule rewrite_module Modules/mod_rewrite.so

 

  (2)注意<Directory />配置字段中的AllowOverride和Options,我配置的如下:
  <Directory />
    AllowOverride FileInfo
    Options FollowSymLinks
    Order allow,deny
    Allow from all
  </Directory>

 

  然后,在Lib目录新建一个.htaccess的文件,内容如下:
  RewriteEngine on
  RewriteRule ^(.*)$ /index.php
  将对该目录的所有访问转到项目的启动文件上,从而屏蔽掉对该目录的访问。

 

  对于Tpl目录设置有点不同,因为该目录还存放其他文件,比如图片文件(*.jpg)等,而我们要阻止的仅仅是html文件的访问,所有在default目录下新建的.htaccess文件中的内容如下:
  RewriteEngine on
  RewriteRule ^(.*\.html)$ \index.php [NC]
  将对该目录下所有html文件的访问转到项目的启动文件上,对于其他文件不变。

 

  上面只是我的一些测试方法,对于这两个目录的安全性是不是真有问题,也还得进一步验证,权且当作是对Rewrite的一次练习吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值