Geschützter Bereich auf einer Website

Dazu eine php Seite, die aus einer Datenbank Links abruft, für jeden Nutzer eigene Daten ermittelt und zusammengestellte Links ausgibt. Fertig. Habe ich als Anfänger auch selbst hinbekommen mit einer SQL.

Die entsprechende table braucht halt Infos welche Nutzer welche Daten angezeigt bekommen sollen.
Ja, aber bitte nur, wenn man weiss was man tut! Ist sonst schneller geknackt als man piep sagen kann. Hier würde ich user/role/session/login auch nur mit etabliertem Framework (Laravel/Laminas/Symfony). Die Räder sind alle schon erfunden und in den genannten Frameworks sicher umgesetzt.
 
  • Gefällt mir
Reaktionen: ruerueka
Moin, Moin, ich teste jetzt das Plugin LoginWP für den geschützten Bereich auf der Website. Es bietet für jeden Benutzer ein Redirect an. Das funktioniert soweit. LoginWP bietet jedoch kein eigentliches Loginfenster an, sondern muss zu diesem Zweck mit einem anderen Plugin zusammenarbeiten.

Ich nutze dafür das Plugin Clean Login, das mir von der Optik des Loginfensters usw. am besten zusagt. Merkwürdigerweise liefert das Plugin jedoch beim Login immer (!) eine Fehlermeldung – Falsche Zugangsdaten –, auch wenn abgesichert ist, das die Zugangsdaten alle völlig korrekt sind!

Passwortschutz über .htaccess habe ich deaktiviert. Google reCaptcha und 2FA reichen aus.

Weiß jemand, wie ich den Login realisieren kann?
 
Moin, Moin, ich habe jetzt eine Lösung realisiert.

Ich konnte dem Plugin Clean Login, das ich gerne verwenden möchte, nicht beibringen, dass es die korrekten Zugangsdaten bekommt. Die Fehlermeldung bleibt nach wie vor.

Ich habe jetzt die Plugins LoginWP (früher Peter’s Login Redirect) für die Weiterleitung auf die jeweilig gewünschte Seite nach dem Login und ProfilePress für das eigentliche Login-Formular eingerichtet. Das funktioniert auch zuverlässig.

Jetzt habe ich noch eine vermutlich banale Frage.

Der geschützte Bereich ist, sagen wir, auf der URL

https://www.xyz.de/geschuetzter-bereich.

Mit den Zugangsdaten im Login-Formular gelangt man z.B. auf die jeweils zum Benutzer spezifische Seite

https://www.xyz.de/geschuetzter-bereich/firma1.

Soweit, so gut.

Ohne Zugangsdaten kommt man also nicht weiter. Wenn diese sehr kryptisch vergeben werden, ist es für Hacker schon einmal schwierig, auf die benutzerspezifische Seite zu gelangen.

Ich frage mich jetzt nur, wenn jemand einfach in einem Browser mit den URLs etwas herumspielt und „zufällig“ auf die URL der benutzerspezifischen Seite, in diesem Fall: https://www.xyz.de/geschuetzter-bereich/firma1, gelangt, dann umgeht er das Login und kommt auf die vermeintlich geschützte Seite.

Wie verhindert man das?

Wenn ich die Sichtbarkeit der benutzerspezifischen Seite auf „Passwortgeschützt“ oder „Privat“ setze, ist sie nicht mehr zugänglich.
 
Beispiel der schlichten URL zum Abmelden – den du in die einzelnen Seiten setzen könntest:
https://example.com/wp-login.php?action=logout
<a href="/wp-login.php?action=logout">Abmelden</a>
Der Code funktioniert nicht. Kannst Du ihn nochmals prüfen?
 
Du hast keinen geschützten Bereich bisher sondern nur eine Weiterleitung auf einen Bereich, den man nicht direkt verlinkt.

Stichwort wäre htaccess oder sessions/cookies mit denen man die Nutzer Verwaltung steuert und damit auch den Zugriff. Schau mal nach dem PHP einfach Link ganz am Anfang, da ist das ganz gut erklärt.
 
Der Code funktioniert nicht. Kannst Du ihn nochmals prüfen?
Funktioniert wunderbar und nach dem Klick auf "Abmelden" kommt der Abmelde-Dialog von Wordpress:

abmelde-dialod-wp.png


Habe das "a href-Snippet" so eins zu eins in eine Seite von Wordpress gesetzt:
<a href="/wp-login.php?action=logout">Abmelden</a>

logout-link-in-page.png
 
  • Gefällt mir
Reaktionen: thobie
Du hast keinen geschützten Bereich bisher sondern nur eine Weiterleitung auf einen Bereich, den man nicht direkt verlinkt.

Stichwort wäre htaccess oder sessions/cookies mit denen man die Nutzer Verwaltung steuert und damit auch den Zugriff. Schau mal nach dem PHP einfach Link ganz am Anfang, da ist das ganz gut erklärt.
Du meinst letzteres?
 
Vom Ding her verstehe ich es so, dass du nach dem regulären Login eines Users,
diesen auf eine allgemeine Landingpage im Frontend führen möchtest.
Das erledigst du mit einem redirect-Plugin, wo du die Landingpage angibst.

Diese Landingpage enthält dann mit Conditions, was dort für wen angezeigt werden soll.
Entweder erstellt man dafür eine Template-Datei "landingpage" und oder kann durch ein Plugin
Code bzw. diese Conditions als wp-Shortcode im Editor der Landingpage setzen.

Beispiel conditon:

Code:
if ( is_user_logged_in('kunde-1') ) {
   // your code for logged in user – link zur downloadpage für kunde-1
} else {
   // your code for logged out user – irgendein Text mit allgemeinen Infos
}

Auf der "downloadpage" könntest du auch wiederum mit dieser Condition die Inhalte für die angemeldeten User separieren usw.

So wäre das eine Möglichkeit;
"Community-Plugins" wären auch denkbar, aber die bringen halt auch einen Bunch an zusätzlichen Kram mit.
 
Vom Ding her verstehe ich es so, dass du nach dem regulären Login eines Users, diesen auf eine allgemeine Landingpage im Frontend führen möchtest. Das erledigst du mit einem redirect-Plugin, wo du die Landingpage angibst.
Das ist richtig. Aber jeder Benutzer bekommt eine individuelle, spezifische Landingpage mit seinen eigenen Download-Möglichkeiten. Ich kann den redirect in dem Plugin nämlich je nach Benutzer unterschiedlich anlegen.
Du hast keinen geschützten Bereich bisher sondern nur eine Weiterleitung auf einen Bereich, den man nicht direkt verlinkt.
Allerdings schreibt MacMac dies hier ganz richtig. Der Bereich ist nicht geschützt. Findet jemand die passende URL einer Landingpage, kann er darauf zugreifen. Also doch kein geschützter Bereich?
 
Das ist richtig. Aber jeder Benutzer bekommt eine individuelle, spezifische Landingpage mit seinen eigenen Download-Möglichkeiten. Ich kann den redirect in dem Plugin nämlich je nach Benutzer unterschiedlich anlegen.

Allerdings schreibt MacMac dies hier ganz richtig. Der Bereich ist nicht geschützt. Findet jemand die passende URL einer Landingpage, kann er darauf zugreifen. Also doch kein geschützter Bereich?
Deswegen schrieb ich ja, dass du mal danach schauen sollst: if ( is_user_logged_in('username') )
Alles was in eine solche Condition als Inhalt/Content gesetzt wird, bekommt ausschliesslich der angemeldete User namens "username" zu sehen.
Niemand sonst, ausser Admins.
 
Moin, Moin, ich möchte gern die Problemlösung mit Euch teilen.

Ich bin von der ersten Problemlösung mit LoginWP und ProfilePress abgerückt. Die Landingpages sind nicht wirklich geschützt, sondern nur in einem Bereich, den man nicht direkt verlinkt.

Ich habe mir über diesen Beitrag einen kleinen Mitgliederbereich mit drei Plugins eingerichtet:

https://elbnetz.com/geschuetzten-mitgliederbereich-in-wordpress/

Das Login ist mit einem reCaptcha gesichert. Die Landingpages sind in den Einstellungen und auf der Live-Website richtig geschützt.

Leider hat das Plugin keine Mail-Benachrichtigung bei einem Login.

Aber der Download zeigt zumindest die Anzahl der Downloads an, womit man feststellen kann, ob ein Login stattgefunden hat und eine Datei tatsächlich heruntergeladen wurde.

Noch eine kurze Frage zum Logout eines Benutzers und einem Redirect: Wie codiere ich den Abmeldebutton auf der Landingpage, dass er nach der WP-eigenen Abmeldebestätigung wieder auf die Loginseite zurückleitet? (https://www.xyz.de/info/login)
 
Noch eine kurze Frage zum Logout eines Benutzers und einem Redirect: Wie codiere ich den Abmeldebutton auf der Landingpage, dass er nach der WP-eigenen Abmeldebestätigung wieder auf die Loginseite zurückleitet? (https://www.xyz.de/info/login)
Sollte so funktionieren:
https://www.example.com/wp-login.php?action=logout&redirect_to=https://www.example.com/info/login
 
Zurück
Oben Unten