• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php页面访问控制的3种方法

php 搞代码 4年前 (2022-01-22) 63次浏览 已收录 0个评论

经常会看到这种现象,看下图

apache 页面访问控制

为什么要进行这样的控制呢,给不同的人看不同的东西,对信息进行保护,虽然这种保护比较低级,多多少少还是有点用的。

一,用htpasswd命令,产生权限控制文件

[zhangy@BlackGhost test]$ htpasswd -c ./access tank  //生成一个密码文件 ,-c是新建一个文件  htpasswd -h可查看New password:            //提示输入密码Re-type new password:        //重复密码Adding password for user tank  [zhangy@BlackGhost test]$ cat access    //查看一下密码文件tank:Uj5B3qIF/BNdI      //用户名是明文的,密码是加密的。
[zhangy@BlackGhost test]$ htpasswd -c ./access tank  //生成一个密码文件 ,-c是新建一个文件  htpasswd -h可查看New password:            //提示输入密码Re-type new password:        //重复密码Adding password for user tank[zhangy@BlackGhost test]$ cat <i>本文@来#源gaodai$ma#com搞$$代**码网</i><strong>搞代gaodaima码</strong>access    //查看一下密码文件tank:Uj5B3qIF/BNdI      //用户名是明文的,密码是加密的。

到这儿密码文件是生成好了。

二,页面访问控制方法

1,能过修改httpd.conf或者是httpd-vhosts.conf来进行配置

listen 10004  NameVirtualHost *:10004  <VirtualHost *:10004>   DocumentRoot "/home/zhangy/www/test" ServerName *:10004   BandwidthModule On   ForceBandWidthModule On   Bandwidth all 1024000   MinBandwidth all 50000   LargeFileLimit * 500 50000   MaxConnection all 2   ErrorLog "/home/zhangy/apache/blog.51yip.com.com-error.log" CustomLog "/home/zhangy/apache/blog.51yip.com-access.log" common  //看一下,下面的配置 <Directory /home/zhangy/www/test>   AuthType Basic   AuthName "access test" AuthUserFile /home/zhangy/www/test/access   Require valid-user   </Directory>  </VirtualHost>
listen 10004NameVirtualHost *:10004<VirtualHost *:10004> DocumentRoot "/home/zhangy/www/test" ServerName *:10004 BandwidthModule On ForceBandWidthModule On Bandwidth all 1024000 MinBandwidth all 50000 LargeFileLimit * 500 50000 MaxConnection all 2 ErrorLog "/home/zhangy/apache/blog.51yip.com.com-error.log" CustomLog "/home/zhangy/apache/blog.51yip.com-access.log" common//看一下,下面的配置 <Directory /home/zhangy/www/test> AuthType Basic AuthName "access test" AuthUserFile /home/zhangy/www/test/access Require valid-user </Directory></VirtualHost>

2,我们可以利用.htaccess文件来进行控制

在test的根目录下面建一个.htaccess的文件

[zhangy@BlackGhost test]$ vi .htaccess   //打开个文件 ,添加权限内容[zhangy@BlackGhost test]$ cat .htaccess  //下面就是.htaccess的内容 AuthType Basic   AuthName "access test" AuthUserFile /home/zhangy/www/test/access  Require valid-user
[zhangy@BlackGhost test]$ vi .htaccess   //打开个文件 ,添加权限内容[zhangy@BlackGhost test]$ cat .htaccess  //下面就是.htaccess的内容 AuthType Basic AuthName "access test" AuthUserFile /home/zhangy/www/test/access Require valid-user

如果要给很多人设置不同的用户名和密码,使用AuthGroupFile设置选项比较方便

3,不用密码文件,也可以进行访问控制

  1. define('ADMIN_USERNAME','tank');     // Admin Usernamedefine('ADMIN_PASSWORD','tank');      // Admin Password//log checkif (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']) ||   $_SERVER['PHP_AUTH_USER'] != ADMIN_USERNAME ||$_SERVER['PHP_AUTH_PW'] != ADMIN_PASSWORD) {   Header("WWW-Authenticate: Basic realm=/"access test/"");   Header("HTTP/1.0 401 Unauthorized");   echo <<<EOB   <html><body>   <h1>Rejected!</h1>   <big>Wrong Username or Password!</big>   </body></html>  EOB;   exit;  }
define('ADMIN_USERNAME','tank');     // Admin Usernamedefine('ADMIN_PASSWORD','tank');      // Admin Password//log checkif (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']) || $_SERVER['PHP_AUTH_USER'] != ADMIN_USERNAME ||$_SERVER['PHP_AUTH_PW'] != ADMIN_PASSWORD) { Header("WWW-Authenticate: Basic realm=/"access test/""); Header("HTTP/1.0 401 Unauthorized"); echo <<<EOB <html><body> <h1>Rejected!</h1> <big>Wrong Username or Password!</big> </body></html>EOB; exit;}

上面用的是php的方法,其他语言我想也有。您可以把上面的这段代码写成一个文件,进行共用包涵,也可以把它封装到底基,这样不管访问什么页面,都可以进行访问控制。

以上就是php页面访问控制的3种方法的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php页面访问控制的3种方法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

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

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