Dieser Artikel behandelt die folgenden Themen:
MemberPress verfügt über einige leistungsstarke Funktionen, die Ihnen beim Schutz statischer Dateien helfen. Der Dateischutz von MemberPress erfolgt auf Webserver-Ebene und gewährleistet so einen absoluten Schutz jeder einzelnen Datei. Selbst wenn beispielsweise eine Person ohne Zugriff auf eine Datei es irgendwie schaffen sollte, einen direkten Link zu dieser Datei zu erhalten, würde MemberPress sie daran hindern und sie auffordern, sich zu registrieren oder anzumelden (falls sie bereits registriert ist), bevor sie diese Datei herunterladen darf.
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.
Außerdem können Sie eigenen Code in die Datei „functions.php“ Ihres Themes einfügen, falls vorhanden, 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);
Nachdem Sie diesen benutzerdefinierten Code hinzugefügt haben, müssen Sie Ihre WordPress-Permalinks aktualisieren, indem Sie in Ihrem WordPress-Dashboard zu ‘Einstellungen’ > „Permalinks“ navigieren und dort einfach unten auf der Seite auf die Schaltfläche „Änderungen speichern“ klicken.
MemberPress Benutzerdefinierte URI-Regeln erklärt
Benutzerdefinierte URI-Regeln schließen die Lücken, in denen die Standardregeln nicht ausreichen, und gewährleisten einen umfassenden Schutz der Inhalte Ihrer gesamten Website.
Allgemeine Anwendungsfälle
Benutzerdefinierte URI-Regeln Schützen Sie Inhalte, die von den Standard-MemberPress-Regeln nicht erfasst werden können. Im Gegensatz zu regulären Regeln, die über die Inhaltsverarbeitung von WordPress laufen, schützen benutzerdefinierte URI-Regeln URLs direkt auf Serverebene.
1. Spezielle WordPress-Seiten
Die Standard-Seitenregeln wirken sich nicht auf Sonderseiten wie die Startseite, die Beitragsseite, Kategoriearchive oder Archivseiten aus. Verwenden Sie benutzerdefinierte URI-Regeln, um diese Bereiche zu schützen, indem Sie ihre spezifischen URLs gezielt berücksichtigen.
2. Page Builder Inhalt
MemberPress-Standardregeln schützen nur den Inhalt, der über die WordPress-Inhaltsfunktion hinzugefügt wurde (die the_content() Funktion). Viele Seitenersteller und Themes stellen ihre Inhalte außerhalb dieser Funktion dar.
Dementsprechend bleibt der auf diese Weise wiedergegebene Inhalt ungeschützt, wenn die Standard-MemberPress-Regeln angewendet werden. Stattdessen können Sie benutzerdefinierte URI-Regeln verwenden, um die gesamte Seite oder den gesamten Beitrag zu schützen.
3. Verzeichnisschutz
Sie können auch mehrere Dateien effizient schützen, indem Sie ganze Verzeichnisse mit einer einzigen Regel unter Verwendung von Platzhaltern anvisieren (z. B., /downloads/*).
Schützen einer einzelnen Datei
Wenn Sie eine Datei schützen möchten, gehen Sie wie folgt 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 verweist (den 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
Auch wenn dies bei einer kleinen Anzahl von Dateien ein relativ einfacher Vorgang ist, kann er bei einer größeren Anzahl von Dateien sehr zeitaufwendig werden. Schauen wir uns also an, wie Sie eine einzige Regel erstellen können, um mehrere Dateien zu schützen.
Mehrere Dateien
Nehmen wir nun an, Sie haben 10 Dateien und möchten, dass dieselbe Mitgliedschaftsstufe Zugriff auf alle diese Dateien hat.
Der Grundgedanke dabei ist, dass Sie entweder jede Datei per FTP in einen speziellen Ordner verschieben (empfohlen) oder sicherstellen sollten, dass jede Datei, die Sie über den Medien-Uploader hochladen, ein einheitliches Präfix hat (nicht empfohlen, es sei denn, FTP kommt nicht in Frage).
Auch wenn wir nicht empfehlen, mehrere Dateien zu schützen, die über den WordPress-Medien-Uploader hochgeladen wurden, verstehen wir, dass es Situationen geben kann, in denen Sie dies möchten oder müssen. Wenn Sie diese Dateien also über den Medien-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üssten Sie lediglich eine Regel vom Typ „Benutzerdefinierte URI“ erstellen, deren Pfad wie folgt lautet:
/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.
In der Regel benötigen Sie einen FTP-Client wie FileZilla oder Cyberduck um über FTP/SFTP eine Verbindung zu Ihrem Server herzustellen. Auf diese Weise erhalten Sie Zugriff auf das Dateisystem Ihres Webservers, sodass Sie Ordner anlegen und Dateien hochladen können – ähnlich wie beim Kopieren von Dateien zwischen Ordnern auf Ihrem eigenen lokalen Computer.
In diesem Beispiel verwenden wir FTP, um einen Ordner namens „protected“ anzulegen und unsere Dateien dorthin zu importieren, sodass wir nun über die folgenden URLs verfügen:
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
Diese Vorgehensweise kann dem WordPress-Medien-Uploader vorzuziehen sein, wenn Sie vorhaben, später Dateien zu Ihrem Ordner hinzuzufügen, da der WordPress-Medien-Uploader Dateien, die zu unterschiedlichen Zeitpunkten hochgeladen wurden, manchmal in verschiedenen Ordnern ablegt.
In diesem Beispiel müssten Sie also lediglich eine Regel vom Typ „Benutzerdefinierte URI“ erstellen und dabei diesen Pfad angeben (in das Textfeld für die Regel eingeben):
/geschützt/
Schauen wir uns nun an, wie man mit regulären Ausdrücken etwas komplexere Suchmuster erstellen kann.
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 beispielsweise im oben genannten FTP-Beispiel einigen Benutzern nur Zugriff auf die PDF-Dateien gewähren und anderen Zugriff auf Ihre PDF-, DOC-, DOCX- und ZIP-Dateien ermöglichen möchten, könnten Sie zwei verschiedene Regeln mit regulären Ausdrücken 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 sind zwar nicht ganz einfach zu beherrschen, bieten aber in den Regeln für benutzerdefinierte URI-Typen in MemberPress leistungsstarke Funktionen zum Abgleichen und zum Schutz von Dateien. 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.
Technische Anforderungen
Da diese Funktion den zugrunde liegenden Webserver Ihrer Website zum Schutz von Dateien nutzt, müssen einige technische Voraussetzungen erfüllt sein, damit sie ordnungsgemäß funktioniert. Wir haben MemberPress so entwickelt, dass es mit den gängigsten Serverkonfigurationen kompatibel ist. Sollten bei Ihnen jedoch nicht alle Funktionen einwandfrei funktionieren, sollten Sie folgende Punkte überprüfen:
- Ihre Website muss von Apache oder einem Apache-kompatiblen Webserver wie Litespeed bereitgestellt werden. Die von MemberPress installierten Rewrite-Regeln sind Apache-spezifisch. Wenn Sie sich nicht sicher sind, welchen Webserver Sie verwenden, handelt es sich wahrscheinlich um Apache; um ganz sicher zu gehen, können Sie sich jedoch an Ihren Webhost wenden. MemberPress unterstützt keinen Dateischutz auf anderen Webservern wie Nginx, IIS oder anderen nicht auf Apache basierenden Servern. Wenn Ihr Webserver jedoch Nginx als Proxy (vor Apache) verwendet, können Sie möglicherweise den im Abschnitt zu Nginx beschriebenen Nginx-Proxy-Bypass-Code nutzen, der unter 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 in der Lage sein, Dateien in Ihrem Ordner „/wp-content/uploads“ zu speichern. Dies ist auch eine Voraussetzung dafür, dass der WordPress-Medien-Uploader Dateien hochladen kann. Wenn dies also funktioniert, sollte auch diese Funktion einwandfrei laufen.
- Cloudflare, andere CDNs und Caching-Verfahren können den Dateischutz beeinträchtigen. Das liegt daran, dass sie entweder die Datei zwischenspeichern, sodass sie nicht geschützt werden kann, oder dass sie unsere Schutz-Cookies stören und so endlose Weiterleitungsschleifen verursachen.
- 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 außerdem festgestellt, dass bei einigen Nutzern benutzerdefinierte Umschreibungsregeln mit den MemberPress-Umschreibungsregeln in Konflikt geraten sind. Sollte diese Funktion also nicht zu funktionieren scheinen und Sie das Gefühl haben, alle diese Schritte bereits durchgeführt zu haben, wenden Sie sich bitte an unseren Betreuungsteam und wir helfen Ihnen dabei.
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. Nachdem Sie diesen Code hinzugefügt haben, müssen Sie außerdem die Permalink-Einstellungen in WordPress aktualisieren, damit WordPress die .htaccess-Datei für Ihre Website aktualisiert.
function add_types_protectable($ypes, $rules) {
$types[] = 'htm';
$types[] = 'html';
return $ypes;
}
add_filter('mepr_rewrite_rules_protect_types', 'add_types_protectable', 11, 2);