>백엔드 개발 >PHP 튜토리얼 >PHP 페이지 접근 제어의 3가지 방법

PHP 페이지 접근 제어의 3가지 방법

PHPz
PHPz원래의
2018-05-14 11:12:597880검색

이러한 현상을 흔히 볼 수 있는데, 아래 사진을 보세요

apache 页面访问控制

아파치 페이지 접근 통제

사람들은 왜 그런 통제를 해야 할까요? 이러한 종류의 보호는 상대적으로 낮은 수준이지만 여전히 어느 정도 유용합니다.

1. 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      //用户名是明文的,密码是加密的。
rrree

이제 비밀번호 파일이 생성됩니다.

2. 페이지 접근 제어 방법

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>

2, 제어를 위해 .htaccess 파일을 사용할 수 있습니다

테스트의 루트 디렉터리에 .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

AuthGroupFile 설정 옵션

을 사용하는 것이 더 편리합니다.3. 비밀번호 파일 없이도 접근 제어가 가능합니다

define(&#39;ADMIN_USERNAME&#39;,&#39;tank&#39;);     // Admin Username
define(&#39;ADMIN_PASSWORD&#39;,&#39;tank&#39;);      // Admin Password
//log check
if (!isset($_SERVER[&#39;PHP_AUTH_USER&#39;]) || !isset($_SERVER[&#39;PHP_AUTH_PW&#39;]) ||  
 $_SERVER[&#39;PHP_AUTH_USER&#39;] != ADMIN_USERNAME ||$_SERVER[&#39;PHP_AUTH_PW&#39;] != 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가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.