1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

WP 6.x Nicht-WP Web-Site einbinden und schützen

Dieses Thema im Forum "Allgemeines" wurde erstellt von signag, 2. Juni 2024.

  1. signag

    signag Member

    Registriert seit:
    2. Juni 2024
    Beiträge:
    6
    Zustimmungen:
    0
    Hallo,
    ich nutze WordPress 6.5.3 bei STRATO.

    Auf einer Familien-Seite möchte ich einen Stammbaum zugänglich machen, der mit Family Historian 7 (https://www.family-historian.co.uk/) erstellt wurde.
    Der Zugang soll dabei nur für registrierte Benutzer möglich sein.

    Der Stammbaum liegt als Web-Struktur (HTML, JS, CSS, Medien-Dateien) in einem einzigen Verzeichnis vor (einige hundert Files).

    Da bei jeder Änderung die Web Site mit Family Historian neu generiert wird, kommt eine direkte Übernahme in WordPress nicht in Frage.
    Auch der Import des GEDCOM Files in das WP Genealogy Plugin ist nicht wirklich praktisch.

    Was ich bisher versucht habe, ist Folgendes:
    • Upload des index.html als Datei auf eine WP Seite
    • Anschließend alle anderen Dateien mit FileZilla in das gleiche ./uploads Verzeichnis hochladen
    • Dann kann ich über die WP-Seite auf die index.html zugreifen und anschließend ganz normal im Stammbaum navigieren.
      Der sieht zwar anders aus als die WP Site, aber das stört nicht.
      Einen Rück-Link zur WP Site kann ich noch einbauen.
    Das Problem ist jetzt allerdings, dass im ./uploads Verzeichnis alle Ressourcen öffentlich zugänglich sind.

    Das ./uploads Verzeichnis mittels .htaccess RewriteRule zu schützen (http://wordpress.stackexchange.com/a/37743/48165) habe ich versucht, bekomme dabei aber immer nur einen 404.

    Auch nach längerer Suche habe ich bisher leider keine andere gangbare Lösung gefunden; auch hier im Forum nicht.
    Allerdings mache ich gerade meine ersten Schritte mit WP und bin mir nicht sicher ob ich mit meiner Vorgehensweise nicht auf dem völlig falschen Dampfer bin.

    Für Rat und Unterstützung wäre ich sehr dankbar.
     
  2. threadi

    threadi Well-Known Member

    Registriert seit:
    9. Oktober 2020
    Beiträge:
    2.340
    Zustimmungen:
    453
    Lassen wir mal den Gedanken weg, dass der Zugang geschützt sein soll gäbe es für die Einbindung eigentlich nur eine iframe-Lösung. Die Dateien legst Du dann in einem Verzeichnis parallel zu WordPress ab. Und diese bindest Du per iframe ein.

    Reden wir jetzt wieder über den Zugangsschutz, ist das per iframe natürlich nicht sinnvoll machbar. Sobald jemand die Adresse rausfindet (und das geht mit 2 Klicks) ist die URL auch öffentlich erreichbar. Selbst Suchmaschinenbots könnten sie finden und indizieren, wenn du das nicht explizit verhinderst.

    Die einzige Alternative die ich noch sehe wäre eine Individualprogrammierung. Mit dieser könntest Du die HTML-Dateien einbetten in eine PHP-Umgebung die wiederum einen Zugriffsschutz über WordPress-Logins bereitstellt. Die Dateien müsstest Du in einem öffentlich nicht erreichbaren Verzeichnis ablegen, könnten also in deinem Hostingbereich auch parallel zum öffentlichen Web-Verzeichnis liegen. Wenn Du das selbst nicht programmieren kannst, findest du sicherlich jemanden in der Jobbörse hierfür: https://forum.wpde.org/forums/jobboerse.33/
     
  3. arnego2

    arnego2 Well-Known Member

    Registriert seit:
    10. Januar 2021
    Beiträge:
    681
    Zustimmungen:
    70
    .htaccess Schutz geht ohne Iframe.
    Ordner anlegen html rein damit htaccess Schutz über das Kontrolpanel einrichten.
     
  4. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    12.461
    Zustimmungen:
    1.941
    Du kannst z.B. alle Zugriffe auf Deinen Stammbaum Ordner über eine passende .htaccess durch ein .php Script leiten und mit PHP über die WordPress API abfragen ob/welcher WordPress Benutzer aktuell angemeldet ist und nur bei passender Anmeldung die Daten (ggf. gleich mit passendem WordPress Menu ergänzt) ausliefern. Die Möglichkeiten sind endlos, man braucht nur etwas Programmiererfahrung mit PHP, WordPress und Rewrite Regeln.
     
  5. signag

    signag Member

    Registriert seit:
    2. Juni 2024
    Beiträge:
    6
    Zustimmungen:
    0
    Danke für das Feedback.
    Mein Ansatz ist eigentlich auch der über .htaccess.

    Ich habe in die .htaccess folgende Zeilen vor dem WordPress-generierten Teil eingefügt:
    RewriteCond %{REQUEST_FILENAME} -s
    RewriteRule ^wp-content/uploads/(.*)$ dl-file.php?file=$1 [QSA,L]

    Als dl-file.php habe ich die Vorlage von https://gist.github.com/hakre/1552239 genommen.
    Darin wird zunächst geprüft, ob ein User eingeloggt ist und wenn nicht, wird auf den Login-Dialog umgeleitet.

    Die erzwungene Umleitung auf den Login-Dialog funktioniert auch, aber nach erfolgreicher Anmeldung gibt es einen "Not found" Fehler beim Zugriff auf die gewünschte Datei.

    Ich wollte das dann debuggen und bin nach der Anleitung https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/ vorgegangen:
    In wp-config.php:
    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_LOG', true );
    define( 'WP_DEBUG_DISPLAY', false );
    @ini_set( 'display_errors', 0 );
    define( 'SCRIPT_DEBUG', true );

    Habe sicherheitshalber auch noch ein debug.log in wp-content angelegt.

    Aber es wurden keine debug-Einträge erzeugt.
    Was mache ich da falsch?
     
  6. threadi

    threadi Well-Known Member

    Registriert seit:
    9. Oktober 2020
    Beiträge:
    2.340
    Zustimmungen:
    453
    Vor

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    fehlt

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Schau per access.log nach wohin der Request geht. Im error.log müsste auch etwas zu sehen sein falls es schief geht. Das Debugging in WordPress zu aktivieren bringt hierbei gar nichts, da die Fehler eventuell schon lange davor auftreten und WP nie erreichen.

    Wenn Du nginx statt Apache hast, geht .htaccess jedoch ohnehin nicht. Dort müsste das völlig anders konfiguriert werden.
     
  7. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    12.461
    Zustimmungen:
    1.941
    Poste Deinen ganzen .htaccess Block. Und ergänzend falls unklar, man sollte nichts manuell direkt in den WordPress Block einfügen...
     
  8. signag

    signag Member

    Registriert seit:
    2. Juni 2024
    Beiträge:
    6
    Zustimmungen:
    0
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  9. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    12.461
    Zustimmungen:
    1.941
    Ergänze die RewriteBase Zeile ähnlich wie im WordPress Block. Ändert das etwas am Verhalten? Und hast Du auch die Kommentare zu Deinem PHP Script gelesen?

    Generell solltest Du nur Deinen Stammbaum Ordner durch das PHP Script leiten, nicht auch alles andere was im WordPress uploads Ordner abgelegt wird.
     
  10. KuSin

    KuSin Well-Known Member

    Registriert seit:
    14. Januar 2024
    Beiträge:
    147
    Zustimmungen:
    14
    Meine Frage ist vielleicht keinen eigenen Threat wert, deswegen schließe ich mich hier an:

    ich möchte sehr sensible Fotos auf einer geschützten Seite anlegen, und der Schutz soll so sicher wie irgendwie möglich sein. Nur handverlesene Besucher dürfen diese Fotos sehen, wenn möglich nur per Passwort. Ist das möglich? Ist der von WP beim Bearbeiten der Seite einzugebende Passwortschutz ausreichend? Das wäre dann dieser hier.

    Zur Sicherheit die betreffende Seite: diese hier
     
    #10 KuSin, 21. Oktober 2024
    Zuletzt bearbeitet: 21. Oktober 2024
  11. SuMu

    SuMu Well-Known Member

    Registriert seit:
    5. Januar 2006
    Beiträge:
    6.316
    Zustimmungen:
    85
    @KuSin ich würde sensible Fotos nie online stellen. Jeder der das PW hat, kann Screenshots machen oder sie herunterladen! Oder das PW weitergeben.


    Mindestens würde ich das Gesicht der Person unkenntlich machen!
    Die WP eigene PW Funktion sollte reichen, davor könntest du noch einen htaccess Schutz machen.
     
    #11 SuMu, 21. Oktober 2024
    Zuletzt bearbeitet: 21. Oktober 2024
  12. KuSin

    KuSin Well-Known Member

    Registriert seit:
    14. Januar 2024
    Beiträge:
    147
    Zustimmungen:
    14
    Mit 1 hast du recht, aber die Familie in THailand möchte die Fotos sehen. Wem ich das PW gebe hat das Recht, Screenshots zu machen, niemand würde das Passwort weiter geben. Damit hat sich auch das Unkenntlich machen erübrigt, es soll ja zu sehen sein.
    Aber ich möchte vermeiden, dass jemand das Passwort umgehen kann. Wenn ich die Seite nicht sicher genug schützen kann verzichte ich auf die Veröffentlichung.

    Auf die Site selbst kommt nur derjenige, der von ihrer Existenz weiß. Also kommen nur ganz wenige überhaupt auf den Gedanken, dass hier etwas zum Knacken wäre.
     
  13. arnego2

    arnego2 Well-Known Member

    Registriert seit:
    10. Januar 2021
    Beiträge:
    681
    Zustimmungen:
    70
    dann darf die Seite nicht in der Seite verlinkt werden.
    Du kannst davon ausgehen dass die Suchmaschinen alles indexieren was sie unter die Finger kriegen.
     
  14. KuSin

    KuSin Well-Known Member

    Registriert seit:
    14. Januar 2024
    Beiträge:
    147
    Zustimmungen:
    14
    Das ist ein Argument. Danke.
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden