Couvert dans cet article :
MemberPress dispose de fonctions puissantes pour vous aider à protéger les fichiers statiques. La protection des fichiers de MemberPress fonctionne au niveau du serveur web, ce qui assure une protection absolue de chaque fichier. Par exemple, même si une personne n'ayant pas accès à un fichier parvenait à obtenir un lien direct vers celui-ci, MemberPress l'arrêterait dans son élan et lui demanderait de s'enregistrer ou de se connecter (si elle s'est déjà enregistrée) avant de l'autoriser à télécharger ce fichier.
Quels types de fichiers MemberPress peut-il protéger ?
MemberPress peut protéger tout fichier qui n'est pas nécessaire au bon fonctionnement de votre site web.
Par conséquent, MemberPress peut
seulement protège les types de fichiers suivants :
zip', 'gz', 'tar', 'rar', 'doc', 'docx', 'xls', 'xlsx', 'xlsm', 'pdf', 'mp4', 'm4v', 'mp3', 'ts', 'key', 'm3u8'
Si vous souhaitez protéger un type de fichier qui ne figure pas dans la liste ci-dessus, nous vous recommandons de le zipper et de protéger un seul fichier .zip.
En outre, vous pouvez ajouter un code personnalisé au fichier functions.php de votre thème, si vous en avez un, ou à un plugin, le
WPCode (veuillez consulter cet article pour plus de détails) : Comment ajouter des extraits de code personnalisés dans WPCode ?). Voici un exemple de ce code :
function add_types_protectable($types, $rules) { $types[] = 'csv' ; return $types ; } add_filter('mepr_rewrite_rules_protect_types', 'add_types_protectable', 11, 2) ;
Après avoir ajouté ce code personnalisé, vous devrez actualiser vos permaliens WordPress en allant dans votre tableau de bord WordPress > Réglages > Permaliens > et en cliquant simplement sur le bouton "Enregistrer les modifications" au bas de cette page.
Protection d'un seul fichier
Si vous n'avez qu'un seul fichier à protéger, voici comment procéder :
- Téléchargez le fichier à l'aide du Media Uploader de WordPress.
- Créez une règle URI personnalisée pour protéger le fichier.
Supposons que le fichier que vous avez téléchargé ait l'URL suivante :
http://example.com/wp-content/uploads/2015/10/report.pdf
La règle que vous créeriez pour ce fichier serait un type d'URI personnalisé pointant uniquement sur le chemin d'accès (partie après
http://example.com) dans le fichier. Ainsi, dans la zone de texte de cette règle, vous devez taper ce qui suit :
/wp-content/uploads/2014/12/report.pdf
Bien qu'il s'agisse d'un processus relativement simple pour un petit nombre de fichiers, il peut prendre beaucoup de temps s'il est appliqué à un plus grand nombre de fichiers. Voyons donc comment créer une règle pour protéger plusieurs fichiers.
Fichiers multiples
Supposons maintenant que vous ayez 10 fichiers et que vous souhaitiez que le même niveau d'adhésion donne accès à chacun d'entre eux.
L'idée est de placer chaque fichier dans un dossier spécial par FTP (recommandé), ou de s'assurer que chaque fichier téléchargé via le Media Uploader a un préfixe commun (non recommandé, sauf si le FTP n'est pas une option).
Bien que nous ne recommandions pas de protéger plusieurs fichiers téléchargés à l'aide du Media Uploader de WordPress, nous comprenons qu'il peut y avoir des cas où vous voulez/devez le faire. Par conséquent, si vous téléchargez ces fichiers via le Media Uploader, ils auront les URL suivantes :
http://example.com/wp-content/uploads/2015/10/bronze_report.pdf http://example.com/wp-content/uploads/2015/10/bronze_report.doc http://example.com/wp-content/uploads/2015/10/bronze_report.docx http://example.com/wp-content/uploads/2015/10/bronze_analysis.pdf http://example.com/wp-content/uploads/2015/10/bronze_analysis.doc http://example.com/wp-content/uploads/2015/10/bronze_analysis.docx http://example.com/wp-content/uploads/2015/10/bronze_groupings.pdf http://example.com/wp-content/uploads/2015/10/bronze_groupings.doc http://example.com/wp-content/uploads/2015/10/bronze_groupings.docx http://example.com/wp-content/uploads/2015/10/bronze_archive.zip
Il ne vous reste plus qu'à créer une règle de type Custom URI avec ce chemin d'accès :
/wp-content/uploads/2015/10/bronze_
Cela protégera tous les fichiers du dossier /wp-content/uploads/2015/10/ dont le nom commence par "bronze_".
Fichiers multiples avec FTP
FTP/SFTP est un moyen robuste de transférer des fichiers de votre ordinateur local vers votre site web. La plupart des hébergeurs fournissent des services FTP gratuits afin que vous puissiez accéder aux fichiers de votre site à distance depuis votre propre ordinateur. La disponibilité du FTP peut varier d'un hébergeur à l'autre et les exigences peuvent être différentes.
En règle générale, vous aurez besoin d'un client FTP tel que FileZilla ou Cyberduck pour vous connecter à votre serveur via FTP/SFTP. Cela vous permettra d'accéder au système de fichiers de votre serveur web pour créer des dossiers et télécharger des fichiers de la même manière que vous copieriez des fichiers entre des dossiers sur votre ordinateur local.
Dans cet exemple, nous utiliserons le FTP pour créer un dossier nommé protected et y importer nos fichiers, ce qui nous donnera les URL suivantes :
http://example.com/protected/report.pdf http://example.com/protected/report.doc http://example.com/protected/report.docx http://example.com/protected/analysis.pdf http://example.com/protected/analysis.doc http://example.com/protected/analysis.docx http://example.com/protected/groupings.pdf http://example.com/protected/groupings.doc http://example.com/protected/groupings.docx http://example.com/protected/archive.zip
Ce scénario peut être supérieur à l'utilisation du Media Uploader de WordPress si vous prévoyez d'ajouter des fichiers à votre dossier ultérieurement, car le Media Uploader de WordPress place parfois les fichiers téléchargés à des moments différents dans des dossiers différents.
Dans cet exemple, il suffit donc de créer une règle de type URI personnalisé avec le chemin d'accès suivant (saisi dans la zone de texte de la règle) :
/protégé/
Voyons maintenant comment utiliser une correspondance plus avancée avec les expressions régulières.
Expressions régulières
Expressions régulières est une syntaxe de recherche unique et descriptive couramment utilisée dans tous les langages de programmation modernes pour sélectionner et traiter du texte. Il vous permettra de protéger facilement des groupes de fichiers très spécifiques.
L'idée est ici de vous permettre de faire correspondre des motifs dans un URL donné et de protéger l'URL s'il correspond à l'une de vos règles de type URI personnalisé avec expression régulière activée.
Par exemple, dans l'exemple FTP ci-dessus, si vous souhaitez permettre à certains utilisateurs d'accéder uniquement aux fichiers PDF et à d'autres d'accéder aux fichiers pdf, doc, docx et zip, vous pouvez créer deux règles d'expression régulière différentes - la première pour un niveau d'adhésion et la seconde pour un autre niveau d'adhésion.
La première règle de votre premier niveau d'adhésion aurait un chemin d'accès similaire :
^/protected/.*\.pdf
La deuxième règle pour votre autre niveau d'adhésion aurait un chemin d'accès de quelque chose comme :
^/protected/.*\.(pdf|doc|docx|zip)
Il est vrai que les expressions régulières peuvent être difficiles à maîtriser, mais elles peuvent offrir de puissantes possibilités de correspondance et de protection des fichiers dans les règles de type URI personnalisées de MemberPress. Nous avons constaté que les
http://www.regular-expressions.info/ est une bonne ressource pour tous ceux qui veulent comprendre cette puissante technologie. Par ailleurs, si vous avez des besoins plus complexes, notre équipe d'assistance est tout à fait capable de trouver des expressions régulières pour tout ce que vous avez besoin de protéger - n'hésitez donc pas à nous soumettre une demande d'assistance. demande de soutien si vous avez besoin d'aide avec cette fonction.
Les règles de l'URI MemberPress expliquées
Ce que vous verrez dans la vidéo : une explication plus approfondie des règles d'URI personnalisées de MemberPress.
Exigences techniques
Comme cette fonction utilise le serveur web sous-jacent de votre site pour protéger les fichiers, il y a certaines exigences techniques qui doivent être respectées pour que cette fonction fonctionne correctement. Nous avons écrit MemberPress pour qu'il fonctionne avec les configurations de serveur les plus courantes, mais si les choses ne fonctionnent pas parfaitement pour vous, voici quelques points à vérifier :
- Votre site web doit être desservi par Apache ou un serveur web compatible avec Apache comme Litespeed. Les règles de réécriture que MemberPress installe sont spécifiques à Apache. Si vous n'êtes pas sûr du serveur web que vous utilisez, il s'agit probablement d'Apache, mais pour en être sûr, vous pouvez contacter votre hébergeur. MemberPress ne prend pas en charge la protection des fichiers sur d'autres serveurs web tels que Nginx, IIS ou d'autres serveurs non basés sur Apache. Cependant, si votre serveur web utilise Nginx comme proxy (devant Apache), vous pouvez utiliser le code de contournement du proxy Nginx décrit dans la section Nginx de la page cette page.
- Votre installation WordPress doit avoir des privilèges suffisants pour apporter des modifications à votre fichier .htaccess. Si votre fichier .htaccess n'est pas inscriptible par WordPress, vous pouvez l'éditer manuellement en suivant les instructions suivantes instructions de réécriture avancées.
- Votre installation WordPress doit pouvoir écrire des fichiers dans le dossier /wp-content/uploads. C'est également une condition pour que le WordPress Media Uploader puisse télécharger des fichiers, donc si cela fonctionne, cela devrait également fonctionner.
- Cloudflare et d'autres CDN ainsi que la mise en cache peuvent potentiellement entraver la protection des fichiers. En effet, soit ils mettent le fichier en cache de sorte qu'il ne peut pas être protégé, soit ils interfèrent avec nos cookies de protection et provoquent des boucles de redirection infinies.
- Les règles de réécriture de MemberPress doivent être activées. Allez dans MemberPress->Paramètres->Général, décochez la case "Désactiver les règles de réécriture" et enregistrez les modifications.
Nous avons également vu des utilisateurs dont les règles de réécriture personnalisées interféraient avec les règles de réécriture de MemberPress. Donc, si cette fonctionnalité ne semble pas fonctionner et que vous avez l'impression d'avoir suivi toutes ces étapes, veuillez contacter notre équipe de équipe de soutien et nous vous aiderons.
Protéger des types de fichiers supplémentaires
MemberPress peut protéger des types de fichiers supplémentaires. Gardez à l'esprit que chaque requête HTTP d'un type de fichier protégeable entraînera une deuxième requête au site pour vérifier si le fichier est protégé ou non. Pour cette raison, nous ne recommandons pas de protéger les fichiers tels que les images (jpg, png, gif, etc.), les scripts (css, js) ou les fichiers de police, car cela pourrait entraîner une charge importante pour votre serveur.
Utilisez le code personnalisé suivant dans un plugin comme le WPCode pour ajouter des types de fichiers supplémentaires. Veuillez consulter cet article pour plus de détails : Comment ajouter des extraits de code personnalisés dans WPCode ?.
Le code ci-dessous ajoute les types de fichiers "html" et "htm" à la liste des fichiers protégés. Une fois ce code ajouté, vous devrez également actualiser les paramètres des permaliens de WordPress pour forcer WordPress à mettre à jour le fichier .htaccess de votre site.
function add_types_protectable($types, $rules) { $types[] = 'htm' ; $types[] = 'html' ; return $types ; } add_filter('mepr_rewrite_rules_protect_types', 'add_types_protectable', 11, 2) ;