ホームページ  >  記事  >  バックエンド開発  >  PHPページのアクセス制御のための3つの方法

PHPページのアクセス制御のための3つの方法

PHPz
PHPzオリジナル
2018-05-14 11:12:597828ブラウズ

この現象はよく見られます。下の写真を見てください

apache 页面访问控制

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

これでパスワードファイルが生成されました。

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ファイルを使用して制御できます

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

多くの人に異なるユーザー名とパスワードを設定したい場合は、AuthGroupFile 設定オプションを使用すると便利です

3。パスワードファイル

  1. 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。