`
MafiaDada
  • 浏览: 25084 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Apache2使用 .htaccess控制访问权限

阅读更多
这里涉及的配置方式主要是使用 .htaccess 文件, 要使用.htaccess文件,则必须设置服务器以允许在这些文件中使用认证指令,即用AllowOverride指令指定哪些指令在针对单个目录的配置文件中有效。首先将对应的AllowOverride这样设置:

    AllowOverride All

首先,应该创建一个用于认证的密码文件,并且这个文件不应该置于DocumentRoot目录下,以避免被下载。例如可以创建/etc/apache2/passwd/目录,并将密码文件置于其下。

Apache2 为我们提供了/usr/bin/htpasswd命令用于创建密码文件,命令的具体操作方法请参阅htpasswd的手册页:http://httpd.apache.org/docs/1.3/programs/htpasswd.html 这里仅做简单的应用。

首次添加用户需要使用 ?c 参数,以创建密码文件,再次添加用户则不要 -c参数了:

    # mkdir /etc/apache2/passwd
    # htpasswd -c /etc/apache2/passwd/passwords  tony
    New password: [mypassword]
    Re-type new password: [mypassword]
    Adding password for user tony

    # htpasswd /etc/apache2/passwd/passwords  etony
    New password: [mypassword]
    Re-type new password: [mypassword]
    Adding password for user etony

必要时,使用htpasswd 命令需要加入完整路径/usr/bin/htpasswd

修改对应.htaccess文件,加入如下内容:

    AuthType Basic
    AuthName "Restricted Files"
    AuthUserFile /etc/apache2/passwd/passwords
    Require user tony

让我们逐个解释这些指令。

AuthType指令选择对用户实施认证的方法,最常用的是由mod_auth_basic提供的Basic 。AuthName指令设置了使用认证的域(Realm),它起两个作用,首先,此域会出现在显示给用户的密码提问对话框中,其次,也帮助客户端程序确定应该发送哪个密码。

AuthUserFile指令设置了密码文件的位置,也就是刚才我们用htpasswd建立的文件。

最后,Require指令设置了允许访问受保护区域的用户。

上述指令只允许一个人(一个叫tony的用户)访问这个目录,但是多数情况下。都需要允许多人访问,这时可以调整Require选项为:

    Require valid-user

可以允许密码文件中的所有用户使用正确的密码进行访问。

可能存在的问题

由于采用了Basic认证的方法,每次向服务器请求甚至刷新一个受保护的页面或图片时都必须校验用户名和密码,为此,必须打开密码文件并逐行搜索用户名,因此,服务器响应速度会受一些影响,受影响的程度与密码文件的大小成正比。

所以,对密码文件中的用户总数存在一个实际上的上限,此上限取决于特定的服务器机器的性能,但是一般有几百个用户就会对响应速度有非常明显的影响,在这种情况下,可以考虑用其他认证方法。

Reference Link:
http://www.itlearner.com/code/debian-apache2/debian-apache2-10.html

分享到:
评论

相关推荐

    任意文件上传-(一).htaccess文件

    权限提升:在某些情况下,上传的.htaccess文件能帮助攻击者提升权限,比如允许执行原本禁止执行的文件或访问受限的目录。 目录遍历:利用.htaccess重定向或修改访问规则,攻击者可能能够访问到服务器上原本不可达的...

    apache .htaccess文件详解和配置技巧总结

     .htaccess主要的作用有:URL重写、自定义错误页面、MIME类型配置以及访问权限控制等。主要体现在伪静态的应用、图片防盗链、自定义404错误页面、阻止/允许特定IP/IP段、目录浏览与主页、禁止访问指定文件类型、...

    .htaccess

    个人档案 查看文章 .htaccess怎么用2007-05-16 14:04(文章来源)http://www.dnpark.com.cn/news/mm/www/1179329504375ZKlMSgYr.html<br><br>Apache服务器的.htaccess是一个非常强大的分布式配置文件,学会使用....

    thinkphp等入口文件在public目录的设置方法

    .htaccess 目录_使用.htaccess设置目录索引(主页)每个Web开发人员都知道,目录默认文件的服务器默认值为index。{extension} 。 Apache通常设置为index.php或index.html 。 在.htaccess文件中设置DirectoryIndex...

    php如何控制用户对图片的访问 PHP禁止图片盗链

    把images目录设置成不充许http访问(把图片目录的:读取、目录浏览 两个权限去掉)。 用一个PHP文件,直接用file函数读取这个图片。在这个PHP文件里进行权限控制。 apache环境中,在你的图片目录中加上下面这个文件...

    Apache下禁止特定目录执行PHP 提高服务器安全性

    如果用的是Apache服务器,还可以通过配置来禁止该目录下的PHP文件的访问,有两种方式: 方式一:.htaccess控制,适用于没有服务器管理权限。 在可写文件夹的目录下,建一个.htaccess文件,内容为: 代码如下:<Files>...

    PHP+MySql的股票配资系统设计.zip

    .htaccess APACHE 重写规则 error.html 404及系统错误页面 favicon.ico 网站ICO图标 index.php 网站入口 web.config IIS 配置文件 网站后台 http://域名/ynw/admin/ 为了安全着想非登录状态访问http://域名/admin/...

    PHP整站套件-1.3.4

    注意语法有错将影响网站的访问. Pn 文件夹里带有 Discuz 和 SupeSite 的 Rewrite 规则, 建议直接使用! Pn\dz.htaccess.zip Discuz 的规则, 解压到 Discuz 目录即可; Pn\ss.htaccess.zip SupeSite 的规则, 解压...

    Apache Wind2003 配置网站目录权限小结

    Apache在其安装目录的bin子目录中提供了htpasswd工具,用于建立密码文件: 代码如下:htpasswd -b -c -m -d -s c:\password.txt username password其中-m -d -s都是加密的方式,具体见参考手册 2.启用认证 其中方式有...

    server-configs-apache:Apache HTTP服务器样板配置

    如果您没有访问权限(这在托管服务中很常见),请查看。 直接使用Apache服务器配置存储库需要执行一些必需的步骤。 另请参阅。检查httpd.conf设置首先要检查的是httpd.conf文件包含适合您的特定安装的值。 最具体的...

    全新商城微信小程序源码支持对接公众号

    注:如果使用Apache环境 需要在.htaccess 中添加复制代码SetEnvIf Authorization”(.*)” HTTP_AUTHORIZATION=$1否则会导致OAuth登录模式获取不到Authorization4.设置代码执行目录为/server/web5. 在浏览器中输入你的...

    PHP飞飞影视源码

    2. 如果您的主机为 window 操作系统,请将以下文件夹的IIS用户加上写入权限 3. 如果您的主机为 linux 操作系统,请设置如下文件夹权限为 777 ./Runtime/* 系统缓存目录 ./Uploads/* 系统附件保存目录 4. 通过...

    php邮件发送管理系统源码.zip

    【发信日志】记录每次执行的状态日志。...未使用apache可删除以下文件 public/.htaccess 定时任务设置(按需求设置) 监控网址 http#//域名/api/Crontab/send 触发定时任务时,每次安装您的设置来执行。

    canhackme:CanHackMe-危险CTF平台

    CanHackMe 这是什么? CanHackMe是危险的CTF平台。... 设置访问SQLite数据库文件的权限(默认值:/ /@import/confs/.common.db )。 修改/@import/confs/common.php , .facebook_app_id.txt , .twitter

    iis、apache与nginx禁止目录执行asp、php脚本的实现方法

    一般iis中比较简单,iis6如下图所示即可: 很多购买虚拟主机空间的用户,如果空间...apache中一般是通过.htaccess文件来限制 Apache环境规则内容如下:Apache执行php脚本限制 把这些规则添加到.htaccess文件中 代码

    wampserver5.0

    - 设置 - 控制面板 - 管理工具 - 服务,找到 wampmysqld, wampapache, 将 "启动类型" 由"手动" 改为"自动" 即可。 4、开启支持rewrite module #LoadModule rewrite_module modules/mod_rewrite.so 去前面掉#,...

    Lsky Pro兰空图床v1.6.0图床程序网站源码支持腾讯云阿里云七牛云等

    Apache直接使用.htaccess即可 4.访问首页,未安装自动跳转至安装页面,根据页面提示安装即可。 5.安装完成以后请设置runtime目录0755权限,如果你使用本地存储,public目录也需要设置为0755权限 <!--文章内容结束...

    PhotoFun-图趣超轻图片网站系统 v1.0.1.zip

    如果使用主域名或带www的域名安装的话(比如baidu.com和www.baidu.com),请修改UPLOAD目录下的.htaccess文件的对应部分,使得不带www的baidu转向www.baidu.com,保证访问地址唯一性;如果使用子域名或本地安装的话...

Global site tag (gtag.js) - Google Analytics