使用Apache htaccess加密保护文件

介绍

很多的网站都在apche服务器上。apche提供了很多有用的功能。它允许我们通过密码加密访问一些文件。也就是说如果不知道密码,不能访问这些页面。这个功能十分简单,但很有用

.htaccess

这里有一个简单的例子。他为我们提供了一些web的访问信息:

order allow,deny
allow from all

require valid-user

Authname "Password access required."

Authtype Basic

AuthUserFile /var/www/vhosts/idrsolutions.com/files/Cust/.htpasswd

这个配置做了两件事。首先,它定义了web的访问规则。定义了文件夹只允许通过登录密码访问。其次,它定义了一个目录 /var/www/vhosts/idrsolutions.com/files/Cust/.htpasswd 这个目录支持为了区分htaccess的管理文件。
为了使用这个功能,你需要知道服务器与你网站相对应的路径。在我们的系统中。apache映射我们的网站,http://www.xxku.net到一个实际路径, /var/www/vhosts/xxku.net/ 下,所以http://www.xxku.net下的文件将会被要求密码访问。

.htpasswd

此文件中包含登录名和登录密码。如下: loginName: password (encrypted). 我们来添加一行记录,来测试我们的文件保护:

mark:$6$7X9OefNE$3JxPhSS6gDWew1QZAJqS2JlUNt2Ly/r7uIMKpRkc1dsgRpaEEeYsiTYKDuk6.c9XjIFEZxXdgGTtQNhur2KyW/
现在当我们访问这个文件夹的时候会弹出密码框提示我们用于输入来访问页面。如果没有密码,我们将无法访问 我们可以通过php脚本来生成加密的密码:
<?php
$ht_pass = '';
$pass = '';
$usr = '';

if (isset($_POST['password']))
if($_POST['password']!= "" AND $_POST['user']!= "" ) {
    $usr = $_POST['user'];
    $pass = $_POST['password'];
    $ht_pass = crypt($pass);
}
print "&lt;html&gt;&lt;head&gt;&lt;title&gt;Password Encryption&lt;/title&gt;&lt;/head&gt;&lt;body&gt;
&lt;form method=post action='htpass.php'&gt;
&lt;font size=5&gt;&lt;b&gt;.htpasswd File Password Encryption&lt;/b&gt;&lt;/font&gt;
&lt;br&gt;&lt;br&gt;Enter Username&lt;br&gt;
&lt;input name=user value=$usr size=20&gt;
&lt;br&gt;&lt;br&gt;Enter Password&lt;br&gt;
&lt;input name=password value=$pass size=20&gt;
&lt;br&gt;&lt;br&gt;&lt;input type=submit name=submit value='Encrypt Now'&gt;
";
if (isset($_POST['password']))
    if($_POST['password'] != "" AND $_POST['user'] != "" ) {
        print "&lt;br&gt;&lt;br&gt;.htpasswd File Code&lt;br&gt;$usr:$ht_pass";
    }
print "&lt;/form&gt;&lt;/body&gt;&lt;/html&gt;";
?&gt;

可以直接丢到php服务器运行。

最后

你可以使用这个简单的方法控制你的网站访问。如果想了解更多详细信息,可以到apache的[weblink url="http://httpd.apache.org/docs/2.2/howto/auth.html"]官方网站[/weblink]上看一下

转载于:https://my.oschina.net/u/265943/blog/292866

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值