Maison  >  Article  >  développement back-end  >  3 méthodes de contrôle d'accès aux pages php

3 méthodes de contrôle d'accès aux pages php

PHPz
PHPzoriginal
2018-05-14 11:12:597782parcourir

Nous voyons souvent ce phénomène, regardez l'image ci-dessous

apache 页面访问控制

Contrôle d'accès aux pages Apache

Pourquoi un tel contrôle devrait-il être effectué ? différentes choses et protéger les informations. Bien que ce type de protection soit relativement faible, il reste quelque peu utile.

1. Utilisez la commande htpasswd pour générer le fichier de contrôle des autorisations

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

Le fichier de mot de passe est maintenant généré.

2. Méthode de contrôle d'accès à la page

1 Elle peut être configurée en modifiant httpd.conf ou 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. Nous pouvons utiliser le fichier .htaccess pour contrôler

Créer un fichier .htaccess sous le répertoire racine du test

[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

Si vous souhaitez définir des noms d'utilisateur et des mots de passe différents pour de nombreuses personnes, il est plus pratique d'utiliser l'option de paramètre AuthGroupFile

3. Vous pouvez également y accéder. sans fichier de mot de passe. Contrôle

  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;  
    }

La méthode ci-dessus est php, je pense qu'il existe également d'autres langages. Vous pouvez écrire le code ci-dessus dans un fichier pour le partager et l'inclure, ou vous pouvez l'encapsuler dans la base, de sorte que quelle que soit la page consultée, le contrôle d'accès puisse être effectué.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn