Menu supplémentaire

Achetez MemberPress dès aujourd'hui ! Commencez à être payé pour le contenu que vous créez ! Obtenir MemberPress maintenant
  1. Accueil
  2. Base de connaissances
  3. Général
  4. Protéger le contenu
  5. Comprendre les règles de réécriture pour la protection des fichiers

Comprendre les règles de réécriture pour la protection des fichiers

Bien que ces instructions soient toujours valables, nous avons depuis publié le module complémentaire de téléchargement MemberPress. Si vous ne parvenez pas à faire fonctionner la protection des fichiers avec votre serveur web, vous pouvez le consulter.
Cliquez ici pour en savoir plus.

MemberPress utilise des règles de réécriture Apache avancées pour protéger les fichiers qui ne sont pas contrôlés directement par WordPress. 

Une fois que vos règles de réécriture sont correctement configurées, une règle URI personnalisée dans MemberPress devrait être en mesure de protéger tous les types de fichiers sauf :

php, phtml, jpg, jpeg, gif, css, png, js, ico, svg, woff, ttf et xml

Ces types de fichiers sont exclus afin d'éviter d'éventuels problèmes de performance.

Voici comment vous pouvez construire vos règles de réécriture sur différents serveurs web :

Apache et Litespeed

Remarque : MemberPress disables our custom rewrite rules by default. You may need to got to MemberPress->Settings->General and uncheck the “Disable Rewrite Rules” checkbox then save the changes in order for custom URI rules to work. 

La plupart des hébergeurs proposant WordPress utilisent Apache comme serveur web. Si vous utilisez Apache et que votre utilisateur Apache a un accès en écriture à la racine de votre document (ce qui est la configuration la plus courante), alors
vous ne devriez pas avoir à modifier vos règles du tout ... MemberPress devrait être en mesure de placer automatiquement vos règles correctement.

Cependant, si vous devez modifier vos règles de réécriture Apache, voici ce que vous devrez ajouter après les règles de WordPress :

# BEGIN MemberPress Rules
<IfModule mod_rewrite.c>

RewriteCond %{HTTP_COOKIE} mplk=([a-zA-Z0-9]+)
RewriteCond /var/www/somesite.com/wp-content/uploads/mepr/rules/%1 -f
RewriteRule ^(.*)$ - [L]

RewriteCond %{REQUEST_URI} !^/(wp-admin|wp-includes|wp-content/plugins|wp-content/themes)
RewriteCond %{REQUEST_URI} \.(zip|gz|tar|rar|doc|docx|xls|xlsx|xlsm|pdf|mp4|m4v|mp3|ts|key|m3u8|ZIP|GZ|TAR|RAR|DOC|DOCX|XLS|XLSX|XLSM|PDF|MP4|M4V|MP3|TS|KEY|M3U8)$
RewriteRule . /wp-content/plugins/memberpress/lock.php [L]

</IfModule>
# END MemberPress Rules

Remarque : Le code doit être collé directement sous le # END WordPess dans le fichier .htaccess.

Remarque : Vous devez vous assurer que vous remplacez /var/www/somesite.com/ avec le chemin de votre docroot.

Nginx

MemberPress
ne prend pas officiellement en charge Nginx comme serveur web. Cependant, vous peut vous pouvez espérer que l'équipe d'assistance de votre hébergeur mette en œuvre l'une des solutions suivantes pour vous.

Nginx en tant que proxy Apache

Si votre hébergeur utilise Nginx comme proxy (devant) pour Apache :

location ~* \.(zip|gz|tar|rar|doc|docx|xls|xlsm|pdf|mp4|m4v|mp3|ts|key|m3u8)$ {
  proxy_pass http://localhost:PORT_HERE ;
}

Remarque : Les PORT_HERE devra être modifiée, votre hébergeur devrait connaître le port # correct pour apache.

Nginx comme serveur web autonome

Si vous n'utilisez que Nginx comme serveur web, vous pouvez utiliser le bloc d'emplacement suivant dans votre fichier de configuration Nginx :

        location ~* \.(zip|gz|tar|rar|doc|docx|xls|xlsm|pdf|mp4|m4v|mp3|ts|key|m3u8)$ {
                # Configuration des variables de verrouillage
                set $mplk_uri "/wp-content/plugins/memberpress/lock.php" ;
                set $mplk_file "/var/www/html/wp-content/uploads/mepr/rules/${cookie_mplk}" ;

                # ne pas verrouiller l'uri de verrouillage
                if ($uri ~* "^/(wp-admin|wp-includes|wp-content/plugins|wp-content/themes)") { break ; }

                # redirection si le fichier de verrouillage est un dir ou n'existe pas
                if (-d $mplk_file) { rewrite ^ $mplk_uri last ; }
                if (!-e $mplk_file) { rewrite ^ $mplk_uri last ; }
        }

Si la version ci-dessus ne fonctionne pas (surtout si vous êtes sur Flywheel Cloud Hosting), essayez plutôt la version ci-dessous :

	location ~ ^/wp-content/plugins/memberpress/lock.php { include fastcgi.conf ; }<br>
	location ~* \.(zip|gz|tar|rar|doc|docx|xls|xlsm|pdf|mp4|m4v|mp3|ts|key|m3u8)$ {<br>
	       # Configuration des variables de verrouillage<br>
       	       set $mplk_uri "/wp-content/plugins/memberpress/lock.php" ;<br>
	       set $mplk_file "$document_root/wp-content/uploads/mepr/rules/${cookie_mplk}" ;<br>
	       # ne pas verrouiller l'uri de verrouillage<br>
	       if ($uri ~* "^/(wp-admin|wp-includes|wp-content/plugins|wp-content/themes)") { break ; }<br>
	       # redirection si le fichier de verrouillage est un dir ou n'existe pas<br>
	       if (-d $mplk_file) { rewrite ^ $mplk_uri last ; }<br>
	       if (!-e $mplk_file) { rewrite ^ $mplk_uri last ; }<br>
	}

Remarque : Vous devez modifier le /var/www/html/ du chemin dans la ligne ci-dessous, pour qu'il corresponde au chemin de votre dossier d'installation de wordpress

IIS, Caddy and other web servers

Actuellement, nous n'avons pas de règles prises en charge pour ces serveurs web.

Cet article a-t-il été utile ?

Articles connexes

fille de l'ordinateur

Achetez MemberPress dès aujourd'hui !

Commencez à être payé pour le contenu que vous créez.