Sperren (Schützen) von Dateien mit PMPro

image_pdfimage_print

Paid Memberships Pro bietet Ihnen viele Optionen zum Sperren Ihrer WordPress-Beiträge und -Seiten direkt nach dem Auspacken – aber vielleicht möchten Sie auch den Zugriff auf geschützte Dateien einschränken. Vielleicht möchten Sie den Mitgliedern beispielsweise den Zugriff auf eine PDF-Arbeitsmappe oder einen begleitenden Audioguide als Upselling anbieten.

Dieses Rezept zeigt Ihnen, wie Sie Dateien in Ihrer WordPress-Medienbibliothek mit Paid Memberships Pro sperren.

 Dateien sperren (schützen) mit PMPro-Banner Bildsuche

Inhaltsverzeichnis

Dateischutz verstehen

Der Schutz von Dateien auf Ihrer WordPress-Site erfordert einige zusätzliche Einschränkungsschritte auf Serverebene. Aufgrund dieser Serverüberlegungen aktivieren wir den Dateischutz nicht standardmäßig in Kern-PMPro. Um Dateien zu schützen, benötigen Sie:

  1. Die Möglichkeit, Umschreibungsregeln hinzuzufügen, indem Sie die .htaccessDatei.
  2. Die Möglichkeit, WordPress zu bearbeiten wp-config.phpDatei.
  3. Genügend Speicherplatz auf Ihrem Server, um Dateien über ein PHP-Skript bereitzustellen.
  4. Um sicherzustellen, dass Ihr Uploads-Ordner nicht von einem CDN bereitgestellt wird (z. B. mit WP Engine und einigen anderen Hosts)

In Bezug auf Punkt 3 oben begrenzt die Menge an Speicherplatz, die Ihrer Website zur Verfügung steht, wie groß eine Datei ist, die Sie geschützt bereitstellen können. Beispielsweise können Sie nach dem Aktivieren des Dateischutzes möglicherweise ein 1-MB-Bild, aber kein 50-MB-PowerPoint-Dokument bereitstellen. Wir empfehlen, einige Dateien in der Größe zu testen, die Sie freigeben möchten, um sicherzustellen, dass Ihr Server über genügend Speicher verfügt, um den Dateischutz zu unterstützen.

Beachten Sie, dass diese Methode nur für Dateien gilt, die über die „Medien“-Bibliothek auf Ihrer WordPress-Site hochgeladen wurden. Bei Bedarf haben wir ein begleitendes Tutorial zum Sperren von Dateien und Verzeichnissen außerhalb von WordPress .

So sperren Sie Dateien nur für Mitglieder

Führen Sie die folgenden Schritte aus, um Dateischutz nur für Mitglieder zu Ihrer WordPress-Mitgliederseite hinzuzufügen.

1. Fügen Sie diese Zeile zu Ihrer hinzu wp-config.php Datei

define('PMPRO_GETFILE_ENABLED', true);

2. Fügen Sie für Sites, die mit Apache gehostet werden, diesen Code zu Ihrer hinzu .htaccessDatei, über der # BEGIN WordPressLinie.

RewriteBase /
RewriteRule ^wp-content/uploads/(.*)$ /wp-content/plugins/paid-memberships-pro/services/getfile.php [L]

Stellen Sie sicher, dass es keine Zeilenumbrüche/Textumbrüche gibt, nachdem Sie diese Regel zu Ihrer .htaccess-Datei hinzugefügt haben. Diese Regel muss möglicherweise für Websites angepasst werden, auf denen WordPress in einem Unterverzeichnis installiert ist, oder wenn die Pfade in Ihrem Setup unterschiedlich sind.

Fügen Sie für Websites, die mit NGINX gehostet werden, diesen Code zu Ihrer NGINX-Konfigurationsdatei unter den anderen WP-Regeln hinzu. Auch diese Regel muss möglicherweise für Websites angepasst werden, auf denen WordPress in einem Unterverzeichnis installiert ist, oder wenn die Pfade in Ihrem Setup unterschiedlich sind.

rewrite ^/wp-content/uploads/(.*)$ /wp-content/plugins/paid-memberships-pro/services/getfile.php last;

3. Passen Sie alternativ die an .htaccessRegel, nur bestimmte Dateitypen zu sperren.

Die folgende Regel sperrt nur pdf, doc, docx, ppt, und zipDateien. Diese Anpassung vermeidet das Ausführen von Bildern und anderen statischen Dateien, die sich möglicherweise in Ihrem befinden uploadsOrdner durch die getfile.phpSkript, das Websites verlangsamen kann.

Sie können die geschützten Dateierweiterungen in die spezifischen Dateitypen ändern, die Sie schützen müssen.

RewriteBase /
RewriteRule ^wp-content/uploads/.*(\.pdf|\.doc|\.docx|\.ppt|\.zip)$ /wp-content/plugins/paid-memberships-pro/services/getfile.php [L]

4. Hier ist die Version dieser Regel, die Sie für NGINX-Server verwenden würden:

rewrite ^\/wp-content\/uploads\/(.*[\.pdf|\.doc|\.docx|\.ppt|\.zip])$ /wp-content/plugins/paid-memberships-pro/services/getfile.php last;

5. Stellen Sie sicher, dass Ihre Dateien an geschützte Posts „angehängt“ sind.

Dateien, die über den Bildschirm zum Bearbeiten von Beiträgen hochgeladen wurden, werden an diesen Beitrag angehängt. Dateien, die direkt in die Medienbibliothek hochgeladen werden, sind nicht angehängt. Um den Anhang einer Datei zu überprüfen, suchen Sie sie in der Medienbibliothek und überprüfen Sie die Registerkarte „Hochgeladen auf“. Von dort aus können Sie es lösen oder am richtigen geschützten Pfosten anbringen.

6. Dateischutz testen.

Nachdem Sie diese Schritte ausgeführt haben, testen Sie den Schutz, indem Sie eine Datei auf eine Seite oder einen Beitrag hochladen, für deren Zugriff eine Mitgliedschaft erforderlich ist. Für die Anzeige der angehängten Datei sind dieselben Mitgliedschaftsstufen erforderlich.

Seien Sie vorsichtig, wenn Sie versuchen, Bilder zu schützen. Abgesehen davon, dass Sie möglicherweise Ihren Server belasten, wenn Sie viele Bilder haben, die keinen Schutz benötigen, erstellt WordPress verkleinerte Versionen von Bilddateien, und PMPro ist noch nicht schlau genug, um die verkleinerten Versionen mit dem angehängten Beitrag zu verknüpfen.

Wie diese Methode des Dateischutzes funktioniert

Was hier passiert, ist, dass jeder Link zu einer Datei in /wp-content/uploads/.../wird durch die geleitet getfile.phpSkript, bevor es im Browser geladen wird. Dieses Skript ermittelt den Beitrag, an den die Datei angehängt ist, und prüft dann, ob der angemeldete Benutzer Zugriff auf diesen Beitrag hat. Wenn dies der Fall ist, wird die Datei über das Skript bereitgestellt. Wenn nicht, wird ein 503-Fehler angezeigt.

Holen Sie sich Expertenunterstützung für Ihre Fragen zum Dateischutz

Lassen Sie mich wissen, wie das für Sie funktioniert. Wenden Sie sich bei Problemen an unser Support-Team . Wir werden versuchen, Ihnen bei allen Problemen zu helfen, die Sie haben.

Beachten Sie, dass diese Art von Funktionalität stark von Ihrem Server-Setup abhängt und Sie möglicherweise einen Entwickler einstellen oder extra bezahlen müssen, um dies vollständig einrichten zu lassen.

Jason Coleman

Autor: Jason Coleman

Jason ist Mitbegründer von Paid Memberships Pro, dem 100 % Open Source Mitgliedschafts-Plugin für WordPress. Er treibt WordPress seit vielen Jahren an seine Grenzen und ist ein Befürworter der Verwendung von WordPress als Anwendungsframework zum Erstellen von Websites und Apps, die über die typischen Blog- oder CMS-Sites hinausgehen. Gepostet in Code-Rezepte . Setzen Sie ein Lesezeichen auf den Permalink . Zuletzt aktualisiert: 19. Oktober 2011 .

Nach oben scrollen