Protéger son site avec un fichier .htaccess

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).
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:
Commentaires
Trackbacks
- htaccess: Se protger du hotlinking et sauvegarder sa bande passante grâce à htaccess | Blog Galerie César
- Protect your WordPress blog using .htaccess
- Wordpress: Blog Schutz per .htaccess :: GLOBALS, RewriteCond, Modifikation, REQUEST :: Fast-Load.de
- Éviter le duplicate content causé par PHPSESSID | Blog Galerie César
- Wordpress: Blog Schutz per .htaccess (Script Injection) | Zeilen, RewriteCond, {QUERYSTRING}, Modfizierung | sohneinesschwaben.de
- Site web: attaque par iframe - la solution pour se protéger | Blog Galerie César
- Perlindungan _REQUEST, PHP GLOBALS & Script Injection | Exclusive WordPress
- 10 Useful WordPress Security Tweaks - Smashing Magazine
- 10 Useful WordPress Security Tweaks
- 10 Useful WordPress Security Tweaks |
- 10 Useful WordPress Security Tweaks » abdie.web.id
- 10 Useful WordPress Security Tweaks - Programming Blog
- 10 Useful WordPress Security Tweaks | DesignerLinks | Home to Web design news, jQuery Tutorials, CSS tutorials, Web Designing tutorials, JavaScript tutorials and more!
- Wordpress Blog Services - 10 Useful WordPress Security Tweaks
- 10 Useful WordPress Security Tweaks | The WordPress Blog Builder
- 10 Useful WordPress Security Tweaks | i know idea
- WordPress3.0十个实用的安全技巧 - 费克熊猫's Blog - PanFake.Com
- Wbcom Designs | Blog | Protect Your WordPress Blog From Script Injections
- krackie's road to designing » Blog Archive » 10 Useful WordPress Security Tweaks
- 10 Astuces pour sécuriser au maximum votre blog Wordpress | Geek Noise
- 十个实用的WordPress安全技巧 | KisKis.Me
- ArticleSave :: Uncategorized :: 10 Useful WordPress Security Tweaks
- 10 Useful WordPress Security Tweaks « WebbyTuts | Resouces for Designers
- 10 Useful WordPress Security Tweaks « TRUtricks
- Endless flight » 10 Useful WordPress Security Tweaks
- 10 Useful WordPress Security Tweaks - Smashing Magazine
- scuriser au maximum wordpress | Free Dz
- Useful WordPress Security Tweaks | UserZen
- Nuvdel's Blog | Le blog d'un déluré

Superbe!
Mais dans le cas ou WP est installe dans un subdirectory and son url pointe dans le root. On fait comment?
C’est simple
on ajoute une ligne:
RewriteBase /subdirectory
Très intéressant merci pour le code.
Bonjour, j’ai du mal à comprendre ou placer « htacces » ?
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
Bonjour, et lorsque l’on souhaite rediriger vers la page d’accueil et non vers une page 403 ?
Merci d’avance, vos articles sont super.
La plupart des hackers servent aussi le htaccess pour perfecionner l’attaque, j’ai déjà vu un article la dessus que je vais poster ici dès que je le retrouve, sinon la plupart des dev oublient aussi une chose simple après que le site est fait et mise en ligne : affichage d’erreurs activé, cela sert aux pirates de connaitre les failles du site, alors il faudra mettre à OFF dans php.ini ou .htaccess.
N’oubliez pas qu’il peut-être préjudiciable de mettre en place ou de modifier un .htaccess existant. Mieux vaut sauvegarder son .htaccess de base au cas ou la modification rende son site inaccessible.
Merci pour ces infos utiles pour sécuriser son site.
Intéressant je ne connaissais pas ces commandes. Le truc, c’est que les CMS s’amusent à modifier tout ça tout seuls, et là bonjour l’erreur 500!
Bonjour,
Est ce qu’il est possible de protéger juste une page et nom un dossier complet
en effet cest de nos jour tres important de s’occuper de la protection de son site
Très intéressantes ces commandes, et c’est vraiment plus efficace pour vraiment protéger son site, mais est-il possible de protéger une seule page ? Merci.