이러한 현상을 흔히 볼 수 있는데, 아래 사진을 보세요
사람들은 왜 그런 통제를 해야 할까요? 이러한 종류의 보호는 상대적으로 낮은 수준이지만 여전히 어느 정도 유용합니다.
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('ADMIN_USERNAME','tank'); // Admin Username define('ADMIN_PASSWORD','tank'); // Admin Password //log check if (!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가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!