Dieser Artikel behandelt die folgenden Themen:
MemberPress verfügt über einige leistungsstarke Funktionen, die Ihnen helfen, statische Dateien zu schützen. Der Dateischutz von MemberPress funktioniert auf Webserver-Ebene und bietet somit absoluten Schutz für jede Datei. Selbst wenn es beispielsweise einer Person ohne Zugriff auf eine Datei gelingen sollte, einen direkten Link zu ihr zu erhalten, würde MemberPress sie aufhalten und sie auffordern, sich zu registrieren oder einzuloggen (falls sie bereits registriert ist), bevor sie die Datei herunterladen kann.
Welche Arten von Dateien kann MemberPress schützen?
MemberPress kann jede Datei schützen, die für das ordnungsgemäße Funktionieren Ihrer Website nicht erforderlich ist.
Daher kann MemberPress
nur die folgenden Dateitypen schützen:
zip','gz','tar','rar','doc','docx','xls','xlsx','xlsm','pdf','mp4','m4v','mp3','ts','key','m3u8'
Wenn Sie einen Dateityp schützen möchten, der oben nicht aufgeführt ist, empfehlen wir Ihnen, die Dateien zu komprimieren und stattdessen eine einzelne .zip-Datei zu schützen.
Zusätzlich können Sie einen benutzerdefinierten Code in die Datei functions.php Ihres Themes einfügen, wenn Sie eine haben, oder in ein Plugin, das
WPCode Plugin (Details finden Sie in diesem Artikel: Hinzufügen von benutzerdefinierten Codefragmenten in WPCode). Hier ist ein Beispiel für diesen Code:
function add_types_protectable($ypes, $rules) { $types[] = 'csv'; return $ypes; } add_filter('mepr_rewrite_rules_protect_types', 'add_types_protectable', 11, 2);
Nach dem Hinzufügen des benutzerdefinierten Codes müssen Sie Ihre WordPress-Permalinks aktualisieren, indem Sie zu Ihrem WordPress-Dashboard > Einstellungen > Permalinks > gehen und einfach auf die Schaltfläche "Änderungen speichern" unten auf dieser Seite klicken.
Schützen einer einzelnen Datei
Wenn Sie nur eine Datei zu schützen haben, gehen Sie folgendermaßen vor:
- Laden Sie die Datei mit dem WordPress Media Uploader hoch.
- Erstellen Sie eine benutzerdefinierte URI-Regel, um die Datei zu schützen.
Angenommen, die von Ihnen hochgeladene Datei hat diese URL:
http://example.com/wp-content/uploads/2015/10/report.pdf
Die Regel, die Sie für diese Datei erstellen würden, wäre ein benutzerdefinierter URI-Typ, der nur auf den Pfad zeigt (Teil nach
http://example.com) in die Datei. In das Textfeld für diese Regel würden Sie also Folgendes eingeben:
/wp-content/uploads/2014/12/bericht.pdf
Obwohl dies bei einer kleinen Anzahl von Dateien ein relativ einfacher Prozess ist, kann er bei einer größeren Anzahl von Dateien zeitaufwändig werden. Sehen wir uns also an, wie Sie eine Regel zum Schutz mehrerer Dateien erstellen können.
Mehrere Dateien
Nehmen wir an, Sie haben 10 Dateien und möchten, dass die gleiche Mitgliedschaftsstufe Zugang zu allen Dateien hat.
Die Idee dahinter ist, dass Sie entweder jede Datei in einem speziellen Ordner mit FTP ablegen (empfohlen) oder sicherstellen, dass jede Datei, die Sie über den Media Uploader hochladen, ein gemeinsames Präfix hat (nicht empfohlen, außer wenn FTP keine Option ist).
Obwohl wir nicht empfehlen, mehrere Dateien, die mit dem WordPress Media Uploader hochgeladen werden, zu schützen, verstehen wir, dass Sie das manchmal wollen/brauchen können. Wenn Sie diese Dateien also über den Media Uploader hochladen, haben sie die folgenden URLs:
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
Jetzt müssen Sie nur noch eine Regel vom Typ Benutzerdefinierter URI mit diesem Pfad erstellen:
/wp-content/uploads/2015/10/bronze_
Damit wird jede Datei im Ordner /wp-content/uploads/2015/10/ geschützt, deren Name mit "bronze_" beginnt.
Mehrere Dateien mit FTP
FTP/SFTP ist eine robuste Methode zur Übertragung von Dateien von Ihrem lokalen Computer zu Ihrer Website. Die meisten Webhoster bieten kostenlose FTP-Dienste an, damit Sie von Ihrem eigenen Computer aus auf die Dateien Ihrer Website zugreifen können. Die Verfügbarkeit von FTP kann von Webhoster zu Webhoster variieren und unterschiedliche Anforderungen stellen.
Normalerweise benötigen Sie einen FTP-Client wie FileZilla oder Cyberduck um eine Verbindung zu Ihrem Server über FTP/SFTP herzustellen. Auf diese Weise haben Sie Zugriff auf das Dateisystem Ihres Webservers, um Ordner zu erstellen und Dateien hochzuladen, ähnlich wie Sie Dateien zwischen Ordnern auf Ihrem lokalen Computer kopieren würden.
In diesem Beispiel erstellen wir per FTP einen Ordner mit dem Namen protected und importieren unsere Dateien dorthin, so dass wir nun folgende URLs haben:
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
Dieses Szenario kann der Verwendung des WordPress Media Uploaders überlegen sein, wenn Sie planen, Ihrem Ordner später Dateien hinzuzufügen, da der Media Uploader von WordPress Dateien, die zu unterschiedlichen Zeiten hochgeladen werden, manchmal in unterschiedlichen Ordnern ablegt.
In diesem Beispiel müssen Sie also nur eine Regel vom Typ Benutzerdefinierter URI mit diesem Pfad erstellen (der in das Textfeld für die Regel eingegeben wird):
/geschützt/
Betrachten wir nun einige fortgeschrittenere Abgleiche mit regulären Ausdrücken.
Reguläre Ausdrücke
Reguläre Ausdrücke ist eine einzigartige und anschauliche Suchsyntax, die in allen modernen Programmiersprachen zur Auswahl und Verarbeitung von Text verwendet wird. Sie ermöglicht es Ihnen, sehr spezifische Dateigruppen mit Leichtigkeit zu schützen.
Die Idee dahinter ist, dass es Ihnen ermöglicht, Muster in einer gegebenen URL abzugleichen und die URL zu schützen, wenn sie einer Ihrer benutzerdefinierten URI-Typ-Regeln mit aktiviertem regulärem Ausdruck entspricht.
Wenn Sie z. B. in dem FTP-Beispiel von oben einigen Benutzern nur den Zugriff auf die PDF-Dateien und anderen den Zugriff auf Ihre PDF-, Doc-, Docx- und Zip-Dateien erlauben möchten, könnten Sie zwei verschiedene Regeln für reguläre Ausdrücke erstellen - die erste für eine Mitgliedschaftsstufe und die zweite für eine andere.
Die erste Regel für Ihre erste Mitgliedschaftsstufe hätte einen Pfad, der etwa so aussieht:
^/protected/.*\.pdf
Die zweite Regel für Ihre andere Mitgliedschaftsstufe hätte einen Pfad, der etwa so aussieht:
^/geschützt/.*\.(pdf|doc|docx|zip)
Zugegeben, reguläre Ausdrücke können schwierig zu beherrschen sein, aber sie können in MemberPress-Regeln vom Typ "Benutzerdefinierter URI" einige leistungsstarke Abgleich- und Dateischutzfunktionen bieten. Wir haben festgestellt, dass
http://www.regular-expressions.info/ ist eine gute Quelle für alle, die sich mit dieser leistungsstarken Technologie vertraut machen wollen. Wenn Sie komplexere Anforderungen haben, ist unser Support-Team sehr gut in der Lage, reguläre Ausdrücke für das zu entwickeln, was Sie schützen müssen - schicken Sie uns einfach eine Support-Anfrage wenn Sie Hilfe zu dieser Funktion benötigen.
MemberPress URI-Regeln erklärt
Was Sie im Video sehen werden: eine ausführlichere Erklärung der MemberPress Custom URI Rules.
Technische Anforderungen
Da diese Funktion den Ihrer Website zugrundeliegenden Webserver nutzt, um Dateien zu schützen, gibt es einige technische Voraussetzungen, die erfüllt sein müssen, damit diese Funktion richtig funktioniert. Wir haben MemberPress so geschrieben, dass es mit den gängigsten Serverkonfigurationen funktioniert, aber wenn die Dinge bei Ihnen nicht vollständig funktionieren, sollten Sie einige Dinge überprüfen:
- Ihre Website muss von Apache oder einem Apache-kompatiblen Webserver wie Litespeed bedient werden. Die Rewrite-Regeln, die MemberPress installiert, sind spezifisch für Apache. Wenn Sie sich nicht sicher sind, welchen Webserver Sie verwenden, dann ist es wahrscheinlich Apache, aber um sicher zu gehen, können Sie Ihren Webhoster kontaktieren. MemberPress unterstützt keinen Dateischutz auf anderen Webservern wie Nginx, IIS oder anderen nicht-Apache-basierten Servern. Wenn Ihr Webserver jedoch Nginx als Proxy (vor Apache) verwendet, können Sie möglicherweise den Nginx-Proxy-Bypass-Code verwenden, der im Abschnitt Nginx auf diese Seite.
- Ihre WordPress-Installation sollte über ausreichende Berechtigungen verfügen, um Änderungen an Ihrer .htaccess-Datei vorzunehmen. Wenn Ihre .htaccess-Datei von WordPress nicht beschreibbar ist, können Sie sie manuell bearbeiten, indem Sie unsere erweiterte Rewrite-Anweisungen.
- Ihre WordPress-Installation muss die Möglichkeit haben, Dateien in den Ordner /wp-content/uploads zu schreiben. Dies ist auch eine Voraussetzung dafür, dass der WordPress Media Uploader Dateien hochladen kann. Wenn das funktioniert, sollte auch dies funktionieren.
- Cloudflare und andere CDNs und Zwischenspeicher haben das Potenzial, den Dateischutz zu behindern. Dies liegt daran, dass sie entweder die Datei zwischenspeichern, so dass sie nicht geschützt werden kann, oder sie stören unsere Schutz-Cookies und verursachen unendliche Umleitungsschleifen.
- MemberPress Rewrite Rules muss aktiviert sein. Gehen Sie zu MemberPress->Einstellungen->Allgemein, deaktivieren Sie das Kontrollkästchen "Disable Rewrite Rules" und speichern Sie die Änderungen.
Wir haben auch schon Benutzer mit benutzerdefinierten Rewrite-Regeln gesehen, die mit den MemberPress-Rewrite-Regeln interferierten. Wenn diese Funktion also nicht zu funktionieren scheint und Sie das Gefühl haben, dass Sie alle diese Schritte durchlaufen haben, wenden Sie sich bitte an unsere Betreuungsteam und wir werden Ihnen helfen.
Zusätzliche Dateitypen schützen
MemberPress kann zusätzliche Dateitypen schützen. Beachten Sie, dass jede HTTP-Anfrage eines schützbaren Dateityps eine zweite Anfrage an die Website auslöst, um zu prüfen, ob die Datei geschützt ist oder nicht. Aus diesem Grund empfehlen wir nicht, Dateien wie Bilder (jpg, png, gif usw.), Skripte (css, js) oder Schriftartendateien zu schützen, da dies eine erhebliche Belastung für Ihren Server bedeuten könnte.
Verwenden Sie den folgenden benutzerdefinierten Code in einem Plugin wie dem WPCode um zusätzliche Dateitypen hinzuzufügen. Bitte lesen Sie diesen Artikel für weitere Details: Hinzufügen von benutzerdefinierten Codefragmenten in WPCode.
Der folgende Code fügt die Dateitypen "html" und "htm" zur Liste der geschützten Dateien hinzu. Nach dem Hinzufügen dieses Codes müssen Sie auch Ihre WordPress-Permanentlink-Einstellungen aktualisieren, um WordPress zu zwingen, die .htaccess-Datei für Ihre Website zu aktualisieren.
function add_types_protectable($ypes, $rules) { $types[] = 'htm'; $types[] = 'html'; return $ypes; } add_filter('mepr_rewrite_rules_protect_types', 'add_types_protectable', 11, 2);