{"id":1989,"date":"2012-02-16T02:23:43","date_gmt":"2012-02-16T01:23:43","guid":{"rendered":"https:\/\/www.creativejuiz.fr\/blog\/?p=1989"},"modified":"2015-01-18T16:13:16","modified_gmt":"2015-01-18T15:13:16","slug":"dossier-securiser-wordpress-fichier-htaccess","status":"publish","type":"post","link":"https:\/\/www.creativejuiz.fr\/blog\/wordpress\/dossier-securiser-wordpress-fichier-htaccess","title":{"rendered":"Dossier WordPress &#8211; S\u00e9curiser davantage WordPress avec le fichier .htaccess"},"content":{"rendered":"<p>Le fichier <code>.htaccess<\/code> permet de communiquer avec la machine qui h\u00e9berge votre site internet.<br \/>\nLe fichier dont je ferai r\u00e9f\u00e9rence dans cet article doit \u00eatre plac\u00e9 \u00e0 la racine de votre blog, c&rsquo;est \u00e0 dire au m\u00eame niveau que votre fichier <code>wp-config.php<\/code>.<!--more--><br \/>\nDans certains cas, il est possible de placer un fichier <code>.htaccess<\/code> dans un dossier pour limiter l&rsquo;impact sur les fichiers. Les instructions du fichier <code>.htaccess<\/code> plac\u00e9 dans un dossier prend le dessus sur le fichier <code>.htaccess<\/code> parent, si les instructions rentrent en conflit.<\/p>\n<p class=\"message important\">N&rsquo;oubliez pas de faire une sauvegarde syst\u00e9matique de votre fichier <code>.htaccess<\/code> avant toute intervention. Vous pourrez facilement replacer en ligne votre sauvegarde si jamais le nouveau fichier est mal \u00e9crit.<\/p>\n<h2>Emp\u00eacher la navigation dans les dossiers<\/h2>\n<p class=\"center\"><img decoding=\"async\" src=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2012\/01\/navigation-folder-dossier.jpg\" alt=\"\" title=\"\" width=\"590\" height=\"195\" class=\"aligncenter size-full wp-image-1837\" srcset=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2012\/01\/navigation-folder-dossier.jpg 590w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2012\/01\/navigation-folder-dossier-300x99.jpg 300w\" sizes=\"(max-width: 590px) 100vw, 590px\" \/><\/p>\n<p>Certains h\u00e9bergeurs ne bloquent pas la possibilit\u00e9 de naviguer directement dans les dossiers d&rsquo;un site. <em>(d\u00e9sol\u00e9 pour la personne qui reconnaitra le dossier <strong>Galerie<\/strong> de son site \ud83d\ude09 )<\/em><br \/>\nAinsi, en tapant http:\/\/mon_super_site.net\/wp-includes\/ il est parfois possible de naviguer dans les fichiers de ce dossier, puis dans les sous-dossiers.<br \/>\nPour bloquer cette possibilit\u00e9 il suffit de rentrer cette ligne de code dans votre fichier <code>.htaccess<\/code> :<\/p>\n<pre class=\"code\"><code class=\"js boc-nocontrols\">Options -Indexes<\/code><\/pre>\n<p class=\"message important\">Attention, ce code n&#8217;emp\u00eache pas le contenu d&rsquo;un dossier d&rsquo;\u00eatre index\u00e9, il faudra <a href=\"#robots-txt\" class=\"anchor_slide\">renseigner le fichier <code>robots.txt<\/code><\/a> pour cela.<\/p>\n<h2>Modifier le \u00ab\u00a0register globals\u00a0\u00bb<\/h2>\n<p>Ce param\u00e8tre existe depuis PHP4 et permet de s\u00e9curiser les variables globales.<br \/>\nIl est important de r\u00e9gler le <code>register_globals<\/code> \u00e0 <code>off<\/code>.<br \/>\nIl est possible de r\u00e9gler ceci gr\u00e2ce au fichier <code>.htaccess<\/code>, avec la ligne suivante&nbsp;:<\/p>\n<pre class=\"code\"><code class=\"js boc-nogutter boc-nocontrols\">php_flag register_globals off<\/code><\/pre>\n<p>Si vous \u00eates chez <strong>OVH<\/strong> ce sera plut\u00f4t :<\/p>\n<pre class=\"code\"><code class=\"js boc-nogutter boc-nocontrols\">SetEnv REGISTER_GLOBALS 0<\/code><\/pre>\n<p class=\"message important\">Attention, chez OVH ce param\u00e8tre est par d\u00e9faut r\u00e9gl\u00e9 \u00e0 <code>on<\/code> !<\/p>\n<p>Merci \u00e0 <a href=\"http:\/\/boiteaweb.fr\" title=\"S\u00e9curit\u00e9 Web - Bo\u00eete \u00e0 Web\">Julio<\/a> pour l&rsquo;info s\u00e9cu !<\/p>\n<h2>Bannir des adresses IP<\/h2>\n<p class=\"center\"><img decoding=\"async\" src=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2012\/01\/ip-secure-ban-htaccess.jpg\" alt=\"\" title=\"\" width=\"590\" height=\"195\" class=\"aligncenter size-full wp-image-1839\" srcset=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2012\/01\/ip-secure-ban-htaccess.jpg 590w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2012\/01\/ip-secure-ban-htaccess-300x99.jpg 300w\" sizes=\"(max-width: 590px) 100vw, 590px\" \/><\/p>\n<p>Il peut arriver qu&rsquo;une personne qui ne vous aime pas (si si \u00e7a arrive), ou qu&rsquo;un robot se mette \u00e0 poster non-stop sur votre blog, 10, 20 commentaires ind\u00e9sirables par jour.<br \/>\nLes robots et les personnes ind\u00e9sirables peuvent \u00eatre bannis gr\u00e2ce \u00e0 leur adresse IP. WordPress vous la donne lorsque la personne poste un commentaire sur votre blog, mais elle peut aussi appara\u00eetre dans les mails de contact gr\u00e2ce \u00e0 certains plugins proposant des formulaires de contact.<br \/>\nEn ajoutant ce code \u00e0 votre fichier <code>.htaccess<\/code>, vous bannirez les personnes visitant votre site avec l\u00a0\u00bbadresse IP 123.456.789 et l&rsquo;adresse IP 987.654.321.<\/p>\n<pre class=\"code\"><code class=\"html\">order allow,deny\r\nallow from all\r\ndeny from 123.456.789\r\ndeny from 987.654.321<\/code><\/pre>\n<p>Pour bannir davantage d&rsquo;IP, il suffit de dupliquer la derni\u00e8re ligne autant de fois que n\u00e9cessaire en renseignant l&rsquo;IP \u00e0 bannir.<\/p>\n<h2>Autoriser votre seule adresse IP dans le dossier <code>wp-admin<\/code><\/h2>\n<p>Cette technique n&rsquo;a d&rsquo;int\u00e9r\u00eat que si le nombre d&rsquo;intervenant est limit\u00e9 et connu, et surtout si vous \u00e9ditez votre site depuis le m\u00eame ordinateur.<br \/>\nDe m\u00eame, il vous faudra une IP fixe, ou alors vous serez oblig\u00e9 d&rsquo;autoriser une plage d&rsquo;IP.<\/p>\n<pre class=\"code\"><code class=\"html\">AuthUserFile \/dev\/null\r\nAuthGroupFile \/dev\/null\r\nAuthName \"Wordpress Admin Access Control\"\r\nAuthType Basic\r\n\r\norder deny,allow\r\ndeny from all\r\nallow from 123.456.789<\/code><\/pre>\n<p>Si vous souhaitez rajouter des autorisations pour d&rsquo;autres IP, dupliquez simplement la derni\u00e8re ligne en renseignant la bonne adresse.<br \/>\nLe fichier <code>.htaccess<\/code> doit \u00eatre plac\u00e9 dans le dossier <code>\/wp-admin<\/code> de votre installation.<\/p>\n<h2>Interdire l&rsquo;acc\u00e8s aux fichiers importants<\/h2>\n<p class=\"center\"><img decoding=\"async\" src=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2012\/01\/forbidden-htaccess.jpg\" alt=\"\" title=\"\" width=\"590\" height=\"195\" class=\"aligncenter size-full wp-image-1841\" srcset=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2012\/01\/forbidden-htaccess.jpg 590w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2012\/01\/forbidden-htaccess-300x99.jpg 300w\" sizes=\"(max-width: 590px) 100vw, 590px\" \/><\/p>\n<p>Interdire l&rsquo;acc\u00e8s \u00e0 <code>wp-config.php<\/code> qui est le fichier qui liste certaines informations sur l&rsquo;installation de WordPress, notamment les identifiants de connexion \u00e0 votre base de donn\u00e9es, ainsi que le pr\u00e9fixe des tables.<br \/>\nPour \u00e9viter qu&rsquo;il puisse \u00eatre atteint directement, interdisez simplement son affichage :<\/p>\n<pre class=\"code\"><code class=\"js\"># protect wpconfig.php\r\n&lt;files wp-config.php&gt;\r\norder allow,deny\r\ndeny from all\r\n&lt;\/files&gt;<\/code><\/pre>\n<p>Une autre solution consiste \u00e0 placer <code>wp-config.php<\/code> \u00e0 l&rsquo;ext\u00e9rieur du dossier <code>www<\/code> de votre espace web. En effet, WordPress arrive \u00e0 le retrouver m\u00eame \u00e0 l&rsquo;ext\u00e9rieur de <code>www<\/code>.<\/p>\n<p>De la m\u00eame mani\u00e8re il est possible d&rsquo;interdire l&rsquo;acc\u00e8s au fichier readme.html ou au fichier <code>.htaccess<\/code> lui-m\u00eame.<\/p>\n<pre class=\"code\"><code class=\"js\"># protect readme.html\r\n&lt;files readme.html&gt;\r\norder allow,deny\r\ndeny from all\r\n&lt;\/files&gt;\r\n# protect .htaccess\r\n&lt;files .htaccess&gt;\r\norder allow,deny\r\ndeny from all\r\n&lt;\/files&gt;<\/code><\/pre>\n<p><a href=\"http:\/\/tdot-blog.com\/wordpress\/how-to-deny-access-to-your-wp-configphp-file-under-wordpress-installation\" hreflang=\"en\" title=\"L'article original sur l'interdiction d'acc\u00e8s aux fichiers d'un site\">Article original (en)<\/a><\/p>\n<h2>Limiter l&rsquo;appel au script de commentaires<\/h2>\n<p>Cette technique permet de v\u00e9rifier d&rsquo;o\u00f9 est appel\u00e9 le script qui envoie les commentaires en base de donn\u00e9es.<br \/>\nIl a l&rsquo;avantage de limiter une partie du spam.<br \/>\nSi le <em lang=\"en\">referer<\/em> existe, et s&rsquo;il s&rsquo;agit de votre blog, alors le commentaire est post\u00e9. Autrement il ne l&rsquo;est pas et l&rsquo;utilisateur du script est redirig\u00e9.<\/p>\n<pre class=\"code\"><code class=\"html\">RewriteEngine On\r\nRewriteCond %{REQUEST_METHOD} POST\r\nRewriteCond %{REQUEST_URI} .wp-comments-post\\.php*\r\nRewriteCond %{HTTP_REFERER} !^$\r\nRewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR]\r\nRewriteCond %{HTTP_USER_AGENT} ^$\r\nRewriteRule (.*) http:\/\/yourblog.com [R=301,L]<\/code><\/pre>\n<p>N&rsquo;oubliez pas de remplacer <strong><code>yourblog.com<\/code><\/strong> par l&rsquo;URL exacte de votre blog.<br \/>\n<a href=\"http:\/\/www.wprecipes.com\/how-to-deny-comment-posting-to-no-referrer-requests\" hreflang=\"en\" title=\"L'article original en anglais sur la limitation de l'appel au script de commentaires.\">Article original (en)<\/a><\/p>\n<h2>5G Blacklist 2012<\/h2>\n<p>D\u00e9velopp\u00e9e par Perishable Press, ce code vous permet de vous prot\u00e9ger contre pas mal de choses.<br \/>\nTout est expliqu\u00e9 sur le site (en anglais, mais <a href=\"http:\/\/translate.googleusercontent.com\/translate_c?act=url&#038;hl=fr&#038;ie=UTF8&#038;prev=_t&#038;rurl=translate.google.fr&#038;sl=en&#038;tl=fr&#038;twu=1&#038;u=http:\/\/perishablepress.com\/5g-blacklist-2012\/&#038;usg=ALkJrhgfGexHCtssz7g5WUAz6Tc7wab3Sg\">Google peut traduire<\/a> si ce n&rsquo;est pas votre fort), je vous laisser donc d\u00e9couvrir <a href=\"http:\/\/perishablepress.com\/5g-blacklist-2012\/\" hreflang=\"en\" lang=\"en\">5G Blacklist 2012<\/a>.<\/p>\n<h2 id=\"robots-txt\"> Bonux : Bloquer l&rsquo;indexation de contenus sensibles<\/h2>\n<p>Rien \u00e0 voir avec le fichier .htaccess, il s&rsquo;agit ici du fichier <code>robots.txt<\/code> utilis\u00e9 par les moteurs de recherche.<br \/>\nIl est possible d&#8217;emp\u00eacher l&rsquo;indexation des fichiers du syst\u00e8me WordPress par les moteurs de recherche en renseignant ceci dans votre fichier <code>robots.txt<\/code> qui se trouve \u00e0 la racine de votre site :<\/p>\n<pre class=\"code\"><code class=\"javascript\">User-Agent: *\r\nDisallow: \/wp-*<\/code><\/pre>\n<h2>Et bien d&rsquo;autres techniques<\/h2>\n<p>Il existe de nombreuses autres techniques dont certaines sont d\u00e9taill\u00e9es sur cette page :<br \/>\n<a href=\"http:\/\/www.askapache.com\/security\/mod_rewrite.html\" lang=\"en\" hreflang=\"en\" title=\"Some other tips\">AskApache mod_rewrite security<\/a><br \/>\nMerci \u00e0 <a href=\"http:\/\/blogmotion.fr\/\">Mr Xhark<\/a> pour son partage dans un de ses commentaires.<\/p>\n<p>Un <a href=\"http:\/\/www.boiteaweb.fr\/la-chaine-wp-que-manque-t-il-a-wordpress-au-niveau-securite-3226.html\">r\u00e9cent article de BoiteAWeb<\/a> a \u00e9t\u00e9 publi\u00e9 concernant la s\u00e9curit\u00e9 de WordPress et ses \u00e9ventuelles faiblesses.<br \/>\nJe vous invite \u00e0 le lire, c&rsquo;est une r\u00e9flexion \u00e0 laquelle vous pouvez participer.<\/p>\n<h2>Le mot de la fin<\/h2>\n<p>Nous avons fait le tour de ce dossier.<br \/>\nSi vous avez manquez quelque chose, le sommaire ci-dessous vous y m\u00e8nera.<br \/>\nCe dossier <strong>n&rsquo;a pas la pr\u00e9tention d&rsquo;\u00eatre exhaustif<\/strong>, aussi, si vous avez des plugins, hooks ou astuces \u00e0 partager, n&rsquo;h\u00e9sitez pas \u00e0 commenter ce dossier. Votre contribution sera ajout\u00e9e au dossier et un lien vers votre site sera fait pour <strong>vous en remercier<\/strong>.<br \/>\nDe m\u00eame, si vous croisez des erreurs faites m&rsquo;en part.<\/p>\n<p>\u00c0 bient\u00f4t \ud83d\ude09<\/p>\n<div class=\"tdm\">\n<h2><a href=\"\/blog\/tutoriels\/wordpress-securisez-votre-site-grace-a-quelques-astuces\">Sommaire du dossier<\/a><\/h2>\n<ol>\n<li><a href=\"\/blog\/wordpress\/wordpress-conseils-securite-bien-debuter-entretenir-son-site\">Conseils de s\u00e9curit\u00e9 pour bien d\u00e9buter<\/a><\/li>\n<li><a href=\"\/blog\/wordpress\/dossier-wordpress-plugins-ameliorer-securite\">Quelques plugins pour am\u00e9liorer la s\u00e9curit\u00e9 de WordPress<\/a><\/li>\n<li><a href=\"\/blog\/wordpress\/dossier-ameliorer-securite-wordpress-hooks\">Am\u00e9liorer la s\u00e9curit\u00e9 de WordPress avec quelques hooks<\/a><\/li>\n<li><span class=\"current\">S\u00e9curiser davantage WordPress avec le fichier .htaccess<\/span><\/li>\n<\/ol>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Le fichier .htaccess permet de communiquer avec la machine qui h\u00e9berge votre site internet. Le fichier dont je ferai r\u00e9f\u00e9rence dans cet article doit \u00eatre plac\u00e9 \u00e0 la racine de votre blog, c&rsquo;est \u00e0 dire au m\u00eame niveau que votre fichier wp-config.php.<\/p>\n","protected":false},"author":4,"featured_media":2027,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_bluesky_dont_syndicate":"","_bluesky_syndication_accounts":"","_bluesky_syndication_text":"","footnotes":""},"categories":[13],"tags":[318,395,684],"coauthors":[597],"class_list":["post-1989","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","tag-htaccess","tag-securite","tag-wordpress"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts\/1989","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/comments?post=1989"}],"version-history":[{"count":0,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts\/1989\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/media\/2027"}],"wp:attachment":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/media?parent=1989"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/categories?post=1989"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/tags?post=1989"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/coauthors?post=1989"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}