如何应用份认证模块和.htaccess文件保证Web安全

要限制对一个网页的访问,可使用Apache和第三方提供的身份认证模块和方法来验证用户的凭据(如用户名和密码)。一些模块支持通过各种数据库(包括NIS和LDAP)进行身份认证。

用户认证指令通常放置在.htaccess文件中。下面是使用Apache默认身份认证模块(mod_auth)的一个基本.htaccess文件。当这个文件放置在/var/www中时,会导致Apache要求用户输入密码进行验证,然后浏览器才能访问/var/www目录层次结构中的内容。应用时,要用本地服务器的相应值进行替换。

# cat .htaccess

AuthUserFile /var/www/.htpasswd

AuthGroupFile /dev/null

AuthName "Browser dialog box query"

AuthType Basic

require valid-user

/var/www/.htpasswd是一个.htpasswd文件的典型绝对路径名,用户在要求输入用户名和密码的对话框中会看到字符串Browser dialog box query。

前面.htaccess文件的第二行关闭组功能。第四行指定用户的身份认证类型为Basic,这也是mod_auth模块的默认设置。最后一行告诉Apache哪些用户可以访问受保护的目录。valid-user条目会授权任何用户(用户名在Apache密码文件中并且输入的密码正确)访问该目录。

只要Apache可以读取其密码文件,该文件可放在系统上的任何地方。把这个文件与.htaccess文件放在同一目录下也是安全的,因为默认情况下,Apache将不会对名字以.ht开头的任何文件的请求进行回复。但是一定不要更改httpd.conf配置文件,以防Apache对名字以.ht开头的文件的请求进行回复。

下面的命令将在工作目录中创建(–c)一个带有Sam条目的.htpasswd文件。省略–c选项可以在现有.htpasswd文件中添加用户或更改密码。

$ htpasswd -c .htpasswd sam

New password:

Re-type new password:

Adding password for user sam

默认的httpd.conf文件包括用于/var/www的AllowOverride None指令。要启用Apache来处理用户认证指令(如读取.htaccess文件),必须将这个指令更改为AllowOverride AuthConfig或将其删除。

在Apache已配置为可处理.htaccess文件后,当它收到对文件的请求时,必须从所请求的文件向上遍历目录层次结构一直到根目录,查找.htacess文件,以确定它是否可以提供该请求的文件。此搜索可能会影响性能。通常情况下性能下降不太严重,但如果性能很关键,则这个问题将很棘手。

(0)

相关推荐

  • Apache的Mode Rewrite模块和.htaccess文件配合

    在Windows下,我们一般使用的是Administrator账号,所以启用这两项非常简单: 在[Apache安装目录]/conf/httpd.conf中找到 #LoadModule rewrite_ ...

  • 五个htaccess文件的常用技巧

    五个htaccess文件的常用技巧

  • Apache Web服务器.htaccess文件配置

    htAccess是Apache服务器的一个配置文件,具有强大的功能,本文介绍如何编辑该文件,让网站实现封锁某国家IP网段、防止图片、文件盗链、保护主机下的目录与文件、创建自定义的出错页面、把某些特殊的 ...

  • 如何解决PS因为文件格式模块不能解析文件问题

    PS是一款功能强大的图片编辑软件,有些用户在导入图片时偶尔会遇到因为文件格式模块不能解析文件问题,不知道如何解决,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步根据下图箭头所指, ...

  • word怎么制作一份感谢信函? word信函文件的制作方法

    公司需要一份致新客户的感谢信,该怎么制作这样一份感谢信函呢?下面我们就来看看星系的教程. 1.打开WORD文件,点击左上角的 OFFICE按钮,然后点击”新建“. 2.弹出”新建文档“的选项,在这里, ...

  • eplan中快速添加 西门子 模块的宏文件

    介绍一个根据西门子订单号快速查找对应的eplan宏,并添加到eplan设备 操作方法 01 获取需要的模块 订货号,注意:不是型号,是订货号!!! 比如本次使用的是西门子CPU1215 DC/DC/D ...

  • 微信理财通身份认证怎么弄?

    您的理财账户有没有申请实名制呢,建议你最好实名制,不然手机丢失,账户被盗也是个麻烦的事情,那么,您知道微信理财通如何认证身份信息吗?1.下载最新版本微信,其他的版本可能和新版本存在一些差异,建议使用最 ...

  • apache开启.htaccess及.htaccess的使用方法

    今天本地调试PHP程序,用到了.htaccess,而默认配置里面开启.htaccess,在网上找到了开启.htaccess的可行方法,供朋友们借鉴。(开启的我他的方法不行,查找了一下AllowOver ...

  • Debian/Ubuntu下安装Apache的Mod_Rewrite模块的步骤分享

    启用 Mod_rewrite 模块: sudo a2enmod rewrite 另外,也可以通过将 /etc/apache2/mods-available/rewrite.load 连接到 /etc/ ...