Accueil > CMS > configuration d’un site : htaccess
configuration d’un site : htaccess
Publié le 27 juin 2016, dernière mise-à-jour le 3 mai 2024, 11 visites, 25193 visites totales.
forcer le https,exemple de lautre.net
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
quand ça marche, rajouter
Header set Strict-Transport-Security "max-age=60000; includeSubdomains; "
Mots de passe pour un dossier :
On crée un fichier .htaccess dans le dossier à bloquer , l’utilisateur verra s’afficher Titre du pop-up ; les mots de passe seront dans le fichier "/var/www/machin/htpasswd"
Remarque:chez free.fr , on peut écrire le fichier en relatif , par exemple ../dossier/htpasswd .
On met les mots de passe dans le fichier /var/www/machin/htpasswd :
Pour empêcher l’accès direct aux mots de passe, on rajoute un fichier .htaccess dans /var/www/machin/ qui contient
Si on utilise un mot de passe crypté, on aura dans le fichier /var/www/machin/htpasswd :
pour avoir le mot de passe on peut utiliser le fichier suivant :
DIVERS/PHPs/MotsDePasse_htaccess.php
On utilise la fonction password_hash pour créer le mot de passe crypté, par exemple
$pass=password_hash('kangourou', PASSWORD_DEFAULT);
.
Remarques : <?php echo crypt('motdepasse'); ?>
marche aussi mais est à éviter ;
si vous voulez protéger le répertoire /usr/local/apache/htdocs/secret, vous pouvez utiliser les directives suivantes, soit dans le fichier /usr/local/apache/htdocs/secret/.htaccess, soit dans le fichier httpd.conf à l’intérieur d’une section
AuthType Basic
AuthName "Restricted Files"
# AuthBasicProvider file : défaut de AuthBasicProvider
AuthUserFile "/usr/local/apache/passwd/passwords"
Require user machin
Il faut configurer apache2 pour avoir les bons mod ( https://httpd.apache.org/docs/2.4/howto/auth.html )
- mod_auth_basic correspond à AuthType Basic ( mot de passe en clair, utiliser mod_ssl )
- AuthName "Restricted Files" , npermet de ne demander qu’une fois le mot de passe pour tous les htaccess "Restricted Files"
et avoir AllowOverride AuthConfig dans /etc/apache2/apache2.conf, par exemple,
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride AuthConfig
Require all granted
</Directory>
On peut aussi créer un groupe :
Nom-de-groupe : machin dpitts sungo rshersey dans "/usr/local/apache/passwd/groups"
.htaccess :
AuthType Basic
AuthName "By Invitation Only"
# Optional line:
AuthBasicProvider file
AuthUserFile "/usr/local/apache/passwd/passwords"
AuthGroupFile "/usr/local/apache/passwd/groups"
Require group GroupName
on a aussi :
Require valid-user
exemples de codes htaccess
- mot de passe + https forcé
- interdit d’accéder
- https forcé : remplacer http://dindoun.lautre.net/machin.php par https://dindoun.lautre.net/machin.php
RewriteEngine On RewriteCond %{Server_Port} 80 RewriteRule ^(.*)$ https://dindoun.lautre.net/$1 [R,L]
80 peut être remplacé par !=443
[R,L] peut être remplacé par [R=301,L]
aides
[htaccess sur apache.org->https://httpd.apache.org/docs/current/howto)/htaccess.html
message d’erreur à l’installation :
htaccess inopérant
Avertissement : la configuration de votre serveur HTTP ne tient pas compte des fichiers .htaccess. Pour pouvoir assurer une bonne sécurité, il faut que vous modifiiez cette configuration sur ce point, ou bien que les constantes _DIR_TMP & _DIR_CONNECT (définissables dans le fichier mes_options.php) aient comme valeur des répertoires en dehors de /var/www/html.