Créer son site avec WordPress #6 - Le .htaccess

in fr •  7 years ago  (edited)

Vous voulez créer un site avec Wordpress mais vous ne savez pas comment vous y prendre ? Grâce à cette série de tutoriels vous allez apprendre pas à pas de façon complète comment créer un site, avec comme exemple le mien que je vais construire en même temps que vous.

I show in this article how to secure wordpress with the help of. htaccess

Sommaire de la série :

- WordPress #1 : Installation
- WordPress #2 : Premier démarrage
- WordPress #3 : Paramétrage et mises à jour
- WordPress #4 : Les articles
- WordPress #5 : Les thèmes

Aujourd'hui on va parler du .htaccess. Ce tutoriel va permettre de :

  • Sécuriser WordPress
  • Accélérer WordPress
  • Faire des redirections
  • Et quelques autres petites choses utiles

série6.png


Le .htaccess est un fichier qui sert à WordPress, et c'est le fichier de configuration d' Apache. Il contrôle ainsi pas mal de fonctions.
Pour y accéder, nous allons devoir retourner sur notre FTP.
Rendez-vous donc dans Filezilla, on nous trouverons le fichier. Clique-droit sur celui-ci, puis clique sur Afficher / Éditer :
filezilla.png

Note : si jamais le fichier n' est pas là (ce qui n 'est pas normal), créez-le.

Le fichier s' ouvrira alors dans votre éditeur de texte. Personnellement, j' utilise Sublime Text 3 qui est excellent.
Vous pourrez alors observer son contenu, presque vide pour le moment :


text.png

Le contenu par défaut du .htaccess

Tout d' abord, je vous conseille quand même de faire une copie renommée .htaccess-back au cas-où à l' aide de FileZilla.
Pour cela téléchargez le, renommez le puis renvoyez-le avec le bon nom.
Passons à la suite.

Note pour plus tard : Veuillez ne pas écrire de code entre les commentaires "BEGIN WordPress" et "END WORDPRESS.

Effectuer une modification

Pour effectuer des modifications, suivez la procédure suivante :

  • Ouvrez le fichier dans l' éditeur

  • Changez le code

  • Sauvegardez le fichier (CTRL+S) puis faites Oui dans FileZilla
    box.png

  • Actualisez le site pour voir si tout fonctionne correctement (F5)

Si une erreur à lieu, une erreur apparaîtra :

Certains hébergeurs n' acceptent pas certains codes dans le .htaccess, vous pouvez les contacter, mais sinon il faut faire sans.

1] Sécurité

1] Désactiver l' affichage des répertoires

Si vous essayez d' afficher un répertoire et son contenu, vous vous retrouverez face à ça :
list.png

Ce n' est pas bon pour la sécurité. Un hacker qui voit vos fichiers peut attaquer plus facilement.

Le code pour désactiver ça :

Options All -Indexes

3] Cacher les informations du serveur

Il est possible chez certains hébergeurs que des informations sur le serveur de votre site soient dans les pages du site. pour éviter tout risque, ajoutez ce code :

ServerSignature Off

4] Protéger les fichiers importants

1] wp-config

Le fichier wp-config est un des plus important de votre site car il comprends les identifiants d' accès à la base de données.Il est donc important de le protéger pour éviter que des pirates n' y aient accès. Pour cela, ajoutez le code suivant :

<files wp-config.php>
    order allow,deny
    deny from all
</files>

2] .htaccess

Vous imaginerez bien qu'il faut également protéger le .htaccess :

<Files ~ "^.*\.([Hh][Tt][AaPp])">
    order allow,deny
    deny from all
    satisfy all
</Files>

4] Camoufler votre nom d' utilisateur.

Le nom d' utilisateur se doit de ne pas être trop simple, pour rendre plus difficile la tâche des pirates qui pourraient essayer d' accéder à l' interface d' administration de votre site.

Or, il est très facile de l' obtenir :
Allez sur votresite.fr/?author=1
Vous vous retrouverez sur un autre lien : https://zonguin.shost.ca/author/nomutilisateur/
Et voilà comment un enfant de 5 ans peut arriver à trouver votre pseudo.

Pour ce prémunir de cela, ajoutez le code suivant :

<IfModule mod_rewrite.c>
RewriteCond %{QUERY_STRING} ^author=([0-9]*)
RewriteRule .* - [F]
</IfModule>

5] Blocage des utilisateurs

1] Bloquer par adresse IP

Si jamais vous observez certaines IP qui tente de se connecter anormalement à votre site, ou que certaines ne cessent de vous spammer les commentaires, vous pouvez les bannir de votre site avec le code suivant :


order allow,deny
deny from xxx.xxx.xxx.xxx
allow from all

Notez que la personne peut changer d' IP, mais cela reste une solution à garder sous la main.

2] Bloquer les utilisateurs venant d' un site en particulier.

Si vous avez remarqué qu' un lien vers votre site provenant d' un autre site est souvent cliqué et que vous ne voulez plus que cela continue, ajoutez ce code en modifiant bien-sûr l'adresse du site à bloquer :

<IfModule mod_rewrite.c>
     RewriteEngine on
     RewriteCond %{HTTP_REFERER} monsite1.com [NC,OR]
     RewriteCond %{HTTP_REFERER} monsite2.com [NC,OR]
     RewriteRule .* - [F]
</ifModule>

3] Le HTTPS

Pour rendre obligatoire le https par les utilisateurs de site, utilisez le code suivant (seulement si vous avez mis en place un certificat SSL) :

RewriteCond     %{SERVER_PORT} ^80$
RewriteRule     ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

4] Bloquer les injections de fichiers

Certains hackers peuvent tenter d' injecter des fichiers dans votre site pour en prendre le contrôle. Pour vous protéger, ajoutez le code suivant :

    RewriteCond %{REQUEST_METHOD} GET
    RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR]
    RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR]
    RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC]
    RewriteRule .* - [F]

5] Sécuriser les scripts

WordPress utilise des scripts pour fonctionner, situés dans wp-includes. Il n' y a néanmoins aucune raison d' y accéder directement. Par mesure de sécurité, ajoutez ce code pour bloquer leur exécution directe :

RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]

6] Autres protections

Celui là, je l' ai trouvé dans mon ancien .htaccess, sans me souvenir toalement de son utlité ^^. Il me semble qu'il protége des attaques XSS et autres.

<ifModule mod_headers.c>
    Header set X-XSS-Protection "1; mode=block"
    Header always append X-Frame-Options SAMEORIGIN
    Header set X-Content-Type-Options: "nosniff”
</ifModule>

Et voilà, c'est tout pour ce tutoriel ! Dans la partie suivante nous verrons d' autres options, il y en a encore des tonnes ^^.

Si vous avez aimé le tutoriel, n' hésitez pas à upvoter, commenter, resteemer !

A bientôt !

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

j'ai appris des choses merci ;)

De rien :-) Merci et à bientôt !

Merci pour ce super article :)

De rien merci :-)

Merci @zonguin pour ton super article ! Je viens de découvrir ta série de tutoriels et c'est vraiment super cool de faire ça pour la communauté. Surtout pour le côté sécurité qui n'est pas vraiment détaillé dans les autres tutos. On est jamais trop prudent dit-on!
Upvote et follow pour moi:)

De rien merci beaucoup pour le commentaire ! A bientôt !

  ·  7 years ago (edited)

Merci une fois de plus pour ce nouveau cours !
On suit la série de près =P c'est upvoté

De rien merci à toi !

Super article!

Merci !