Petit mémo pour restreindre l’accès à un fichier particulier genre le phpinfo() via le .htaccess.
Je pars du principe que le site web est stocké dans le répertoire /var/www/public_html/.
D’abord, créer le fichier en question /var/www/public_html/getinfo.php :
1 2 |
<?php phpinfo(); |
Ensuite, créer ou modifier le fichier /var/www/public_html/.htaccess pour limiter l’accès à ce fichier par un identifiant et un mot de passe.
Au passage, on protège les fichiers .ht* :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# Accès par mot de passe sur le fichier getinfo.php <Files getinfo.php> AuthUserFile /var/www/public_html/.htpasswd AuthGroupFile /dev/null AuthName "Restricted Access" AuthType Basic <limit GET> require valid-user </Limit> </Files> # Protection des fichier .ht* <FilesMatch "^\.ht"> Order allow,deny Deny from all Satisfy All </FilesMatch> |
Puis on crée le fichier /var/www/public_html/.htpasswd.
Idéalement, on devrait le placer hors accès web pour mieux le protéger.
Ce n’est pas le cas dans l’exemple ci-dessus, mais vous pouvez adapter.
Pour générer la ligne contenant l’identifiant et le mot de passe crypté, vous pouvez aller sur ce site : https://shop.alterlinks.com/htpasswd/passwd.php
Ex avec l’identifiant « test » et le mot de passe « test1234 » en utilisant MD5 :
1 |
test:$apr1$w1ctdZzl$rHASjhWi8iRwsn72oR8RT. |
A ne pas utiliser, bien sûr 😉