Protéger son site avec un fichier .htaccess
Écrit par Oussamadéc 23

Hi all,
Comme nous le savons tous, il est important de protéger son site web surtout quand il soit un site web dynamique.
La majorité des développeurs pensent toujours à protéger leurs requêtes POST et GET (évidemment) mais à mon avis ce n’est pas toujours suffisant: il faudra penser à se protéger contre tout type d’injection y compris l’injection des scripts et bien sur se protéger aussi contre la modification des variables _REQUEST, la modification des variables PHP GLOBALS.. Et pour faire tout cela il nous suffit d’ajouter (de créer?) quelques lignes dans son fichier .htaccess
Attention: une mauvaise utilisation de .htaccess pourra engendrer le blocage de son site. A utiliser avec modération! (L’exemple que je vais donner est testé et est fonctionnel).
Comme nous le savons tous (pas vous?) le fichier .htacces doit toujours commencer par ces deux lignes:
Options +FollowSymLinks # Pour activer le suivi des liens symboliques
RewriteEngine On # Pour démarrer le moteur de l’url_rewriting
On commence par mettre les condition de redirection (url_rewriting):
# On bloque tous les liens contenant un <script>:
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# On bloque tous les scripts qui essayent de modifier un variable PHP GLOBALS:
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# On bloque tous les scripts qui essayent de modifier un variable _REQUEST:
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Tout est est bon! On envoi tout ça vers la page d’accueil avec une erreur 403 Forbidden:
RewriteRule ^(.*)$ index.php [F,L]
Donc pour résumer: Pour mieux protéger son site web, on peut ajouter ces lignes dans son fichier .htacces (ou créer un fichier .htaccess contenant ces lignes):
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
Faites en bonne utilisation
Articles similaires:




34 comments
Ping par htaccess: Se protger du hotlinking et sauvegarder sa bande passante grâce à htaccess | Blog Galerie César le 17 janvier 2010 à 16 h 06 min
[...] Pour se protéger du hotlinking et ainsi sauvegarder sa bande passante, il suffi d’ajouter quelques lignes dans son fichier htaccess (on peut aussi sécuriser son site web à l’aide d’un fichier htaccess). [...]
Ping par Protect your WordPress blog using .htaccess le 25 janvier 2010 à 8 h 47 min
[...] to Oussama for those simple, but efficient lines of code! If you enjoyed this article, please consider [...]
Ping par Wordpress: Blog Schutz per .htaccess :: GLOBALS, RewriteCond, Modifikation, REQUEST :: Fast-Load.de le 25 janvier 2010 à 15 h 40 min
[...] Mehr Sicherheit im Blog dank Oussama [...]
Commentaire par KCA le 26 janvier 2010 à 6 h 14 min
Superbe!
Mais dans le cas ou WP est installe dans un subdirectory and son url pointe dans le root. On fait comment?
Commentaire par Oussama le 26 janvier 2010 à 10 h 48 min
C’est simple
on ajoute une ligne:
RewriteBase /subdirectory
Ping par Éviter le duplicate content causé par PHPSESSID | Blog Galerie César le 27 janvier 2010 à 7 h 31 min
[...] fichier htaccess permet aussi de bloquer le hotlinking et sauvagder sa bande passante et aussi à mieux protéger son site web) qui permettent de stocker les sessions dans des cookies, soit d’ajouter quelques lignes dans [...]
Ping par Wordpress: Blog Schutz per .htaccess (Script Injection) | Zeilen, RewriteCond, {QUERYSTRING}, Modfizierung | sohneinesschwaben.de le 6 février 2010 à 3 h 38 min
[...] an Oussama. Auch zum lesen da [...]
Commentaire par JeClicker le 9 février 2010 à 23 h 59 min
Très intéressant merci pour le code.
Ping par Site web: attaque par iframe - la solution pour se protéger | Blog Galerie César le 6 avril 2010 à 18 h 11 min
[...] Edit 3: Un script pour protéger votre site contre les injections. [...]
Ping par Perlindungan _REQUEST, PHP GLOBALS & Script Injection | Exclusive WordPress le 29 avril 2010 à 3 h 09 min
[...] kasih pada om Oussama untuk kode [...]
Commentaire par rfphoto le 7 mai 2010 à 10 h 17 min
Bonjour, j’ai du mal à comprendre ou placer “htacces” ?
Ping par 10 Useful WordPress Security Tweaks - Smashing Magazine le 1 juillet 2010 à 16 h 17 min
[...] are met, the request is blocked and a 403 error is returned to the client’s browser.SourcesProtéger Son Site Avec Un Fichier .htaccessProtect Your WordPress Blog Using .htaccess6. Fight Back Against Content ScrapersThe problem If your [...]
Ping par 10 Useful WordPress Security Tweaks le 1 juillet 2010 à 17 h 03 min
[...] Protéger Son Site Avec Un Fichier .htaccess [...]
Ping par 10 Useful WordPress Security Tweaks | le 1 juillet 2010 à 17 h 16 min
[...] Protéger Son Site Avec Un Fichier .htaccess [...]
Ping par 10 Useful WordPress Security Tweaks » abdie.web.id le 1 juillet 2010 à 23 h 11 min
[...] Protéger Son Site Avec Un Fichier .htaccess [...]
Ping par 10 Useful WordPress Security Tweaks - Programming Blog le 1 juillet 2010 à 23 h 16 min
[...] Protéger Son Site Avec Un Fichier .htaccess [...]
Ping par 10 Useful WordPress Security Tweaks | DesignerLinks | Home to Web design news, jQuery Tutorials, CSS tutorials, Web Designing tutorials, JavaScript tutorials and more! le 1 juillet 2010 à 23 h 31 min
[...] are met, the request is blocked and a 403 error is returned to the client’s browser.SourcesProtéger Son Site Avec Un Fichier .htaccessProtect Your WordPress Blog Using .htaccess6. Fight Back Against Content ScrapersThe problem If your [...]
Ping par Wordpress Blog Services - 10 Useful WordPress Security Tweaks le 2 juillet 2010 à 3 h 03 min
[...] Protéger Son Site Avec Un Fichier .htaccess [...]
Ping par 10 Useful WordPress Security Tweaks | The WordPress Blog Builder le 2 juillet 2010 à 18 h 13 min
[...] Protéger Son Site Avec Un Fichier .htaccess [...]
Ping par 10 Useful WordPress Security Tweaks | i know idea le 3 juillet 2010 à 9 h 49 min
[...] Protéger Son Site Avec Un Fichier .htaccess [...]
Ping par WordPress3.0十个实用的安全技巧 - 费克熊猫's Blog - PanFake.Com le 4 juillet 2010 à 5 h 53 min
[...] Protéger Son Site Avec Un Fichier .htaccess [...]
Ping par Wbcom Designs | Blog | Protect Your WordPress Blog From Script Injections le 4 juillet 2010 à 8 h 54 min
[...] Protéger Son Site Avec Un Fichier .htaccess [...]
Ping par krackie's road to designing » Blog Archive » 10 Useful WordPress Security Tweaks le 5 juillet 2010 à 5 h 10 min
[...] Protéger Son Site Avec Un Fichier .htaccess [...]
Ping par 10 Astuces pour sécuriser au maximum votre blog Wordpress | Geek Noise le 5 juillet 2010 à 23 h 18 min
[...] Source: Protéger Son Site Avec Un Fichier .htaccess [...]
Ping par 十个实用的WordPress安全技巧 | KisKis.Me le 7 juillet 2010 à 0 h 10 min
[...] Protéger Son Site Avec Un Fichier .htaccess [...]
Ping par ArticleSave :: Uncategorized :: 10 Useful WordPress Security Tweaks le 7 juillet 2010 à 8 h 09 min
[...] Protéger Son Site Avec Un Fichier .htaccess [...]
Ping par 10 Useful WordPress Security Tweaks « WebbyTuts | Resouces for Designers le 7 juillet 2010 à 17 h 59 min
[...] Protéger Son Site Avec Un Fichier .htaccess [...]
Ping par 10 Useful WordPress Security Tweaks « TRUtricks le 8 juillet 2010 à 6 h 04 min
[...] Protéger Son Site Avec Un Fichier .htaccess [...]
Ping par Endless flight » 10 Useful WordPress Security Tweaks le 8 juillet 2010 à 8 h 45 min
[...] Protéger Son Site Avec Un Fichier .htaccess [...]
Ping par 10 Useful WordPress Security Tweaks - Smashing Magazine le 12 juillet 2010 à 22 h 36 min
[...] [...]
Ping par scuriser au maximum wordpress | Free Dz le 1 août 2010 à 2 h 04 min
[...] Source: Protéger Son Site Avec Un Fichier .htaccess [...]
Ping par Useful WordPress Security Tweaks | UserZen le 15 août 2010 à 18 h 41 min
[...] Protéger Son Site Avec Un Fichier .htaccess [...]
Ping par Nuvdel's Blog | Le blog d'un déluré le 18 août 2010 à 13 h 14 min
[...] Source: Protéger Son Site Avec Un Fichier .htaccess [...]
Commentaire par jc le 18 août 2010 à 17 h 03 min
bonjour,
j’ai du supprimer la ligne suivante :
RewriteRule ^(.*)$ index.php [F,L]
car cela affichait systematiquement une erreur 403 à l’ouverture de n’importe quelle page.
JC