基于.htaccess的网站安全应用研究

网站建设知识 phpacg 2年前 (2018-04-24) 99次浏览 0个评论

  在Internet上普遍部署WEB效劳是现今信息传达的最主要途径,而基于此类运用的Linux加Apache的组合因其出色的表现,在众多WEB效劳虚拟主机环境配置中占据着极大的市场份额。而基于网站集群管理的WEB效劳提供商往往基于统筹战略给予客户有限的主机管理权限,此时网站的设计与管理人员则可以经过.htaccess文件自己修正效劳器配置完成权限控制维护网站平安。运用.htaccess方式不需求编写顺序就能方便完成,只需掌握特定的配置指令及rewrite规则即可。

  1 .htaccess文件与rewrite规则定义

  .htaccess文件是Apache效劳器上的一个基于文本的散布式配置文件,它提供了针对目录改动配置的方法,常用在内容提供者需求针对特定目录改动效劳器的配置而又没有root权限的状况下,经过自行修正该文件完成权限控制。

  Rewrite规则主要的功用就是完成URL的跳转,它的正则表达式是基于Perl言语,可基于效劳器级和目录级两种方式,本文我们讨论的是后者。

  2 Apache下的PHP执行权限控制

  网站平安战略中,对目录的执行权限是十分敏感的,普通来说,关于可写入的目录是禁用脚本执行权限的,像DedeCMS系统,可写入的有两个目录data、uploads,data目录主要是基本配置文件缓和存数据,uploads则是附件上传保管的目录,制止该目录的执行权限可有效防止恶意写入可执行脚本招致网站被攻击的能够性。我们也建议把其他一些生成纯静态html的目录也去除执行权限,这样系统会更为平安。

  该方法基于.htaccess文件中运用rewrite来到达制止指定脚本的运转,规则内容如下:

  [1]RewriteEngine on RewriteCond%!^$

  [2]RewriteRule filePath/(.*).(php)$–[F]

  其中,方括号表示代码行序号,在规则书写时切记去掉,代码行[1]表示启用rewrite开关,可不用重复书写,以下类同。将上述代码存储至到.hatccess文件并保管到对应的filePath站点目录下,这样filePath目录下的php脚本(如上例)的执行权限就制止了。

  3 防止站内资源盗用

  如今互联网上原创的内容被转载、盗链的现象很普遍,为有效防止盗链,挤占效劳器带宽,以及一定水平维护站内资源版权,可经过.htaccess文件来设置资源文件防盗链。规则内容如下:

  [1]RewriteCond%{HTTP_REFERER}!^$

  [2]RewriteCond%{HTTP_REFERER}!^http://(www\.)?domain.com(/)?.*$[NC]

  [3]RewriteRule.*\.(gif|jpg|jpeg|bmp|png)$http://www.xxx.com/photo.jpg[R,NC,L]

  其中,代码行[2]表示允许访问行[3]所列资源类型的域名来源,为保证搜索引擎收录及本地站点调用,用户可自行扩展,例如可另起多行,将百度、谷歌、雅虎及本地域名等设置其中。代码行[3]表示将外链的图片资源文件交流为指定途径下的特定图片,这里需求留意的是交流图片建议为非本站的图片文件,否则会形成死循环。关于其他类型的资源维护,用户可依据实践状况变卦代码行[3]的文件类型即可。

  4 自定义错误页

  当我们访问某网站时,不合理的访问,或许网站自身的效果,会出现各种的错误前往页面。从平安角度上讲,这就给攻击者提供了某种判别的依据,为了防止这种状况,我们异样可借助.htaccess来控制错误的处置方法。HTTP协议错误定位在400到505之间,正由于这些错误被规范化,WEB效劳器处置错误的方法最终就取决于网络管理员,使得其可以拥有自己的、特性化的错误页面(例如找不到文件时),而不是效劳商提供的默许页。配置错误页的重定向语法如下:

  [1]ErrorDocument[error code] [url]

  [error code]为错误代码,[url]可自定义为恣意一个有效的网络地址。举例来说,假设我的根目录下有一个notfound.html文件,我想运用它作为404 error的页面:

  ErrorDocument 404 /notfound.html

  错误代码可参考相关书籍描画,接上去,你要做的只是创立一个错误发作时显示的指向页面文件,然后把它们和.htaccess一同上传。

  5 目录的密码访问维护

  要运用.htaccess停止网站目录密码维护主要分为2个步骤,即配置.htaccess文件和创立.htpasswd密码文件。定义如下:

  [1]AuthName “Section Name”

  [2]AuthType Basic

  [3]AuthUserFile /full/path/to/.htpasswd

  [4]Require valid-user

  Section Name出如今弹出的密码输入框中,我们可以自己定义,/full/path/to/.htpasswd是我们第二步密码文件.htpasswd的相对途径,建议将该密码配置文件置于站点之外的目录,可防止他人经过阅读器的方式恶意获取。

  密码文件的内容格式为user:password,密码局部必需为加密的格式。当你试图访问被.htaccess密码维护的目录时,你的阅读器会弹出规范的账号、密码对话窗口。

  6 来访IP的挑选处置

  由于网站的特殊发布环境,管理员能够限制某些特定IP的用户访问指定的内容,或许想封禁某些指定IP地址段。.htaccess对指定IP停止限制访问在做网站优化以及网站基础部署中都是有用的,可以有效防止采集和信息保密,示例如下:

  [1]order allow,deny

  [2]deny from *.*.*.*

  [3]allow from *.*.*.*

  代码行[1]表示先限定容许的,后限定制止的,反之亦可;行[2]、[3]可限制指定IP地址段的访问开关,可采用地址位方式停止婚配认证。经过维护IP代码行以到达完成维护网站平安受访的目的。

  7 完毕语

  网站的平安性不容小视,网站目录权限的严厉控制显得尤为重要,经过.htaccess来维护网站平安方便和可行,由于它不像运用脚本顺序那样容易遭到破绽等软性攻击,而更是效劳器系统级别的权限控制措施,很大水平上提高了网站的平安性。

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址