ZUgangskontrolle über mySQL Datenbank bei 1&1

  • Hallo zusammen,


    ich möchte meinen Webspace um einen Zugang für spezielle Nutzer erweitern, deren Zugang über Daten ermöglicht werden soll, die in der mySQL-Datenbank stehen. Gibt es dafür schon Codesnippets und wie wird sichergestellt, dass der Zugang auf die Seiten nicht manuell erreicht werden kann?


    Danke & Gruß,


    Pascal

    Life is short - eat dessert first.

  • Wenn ich dich richtig verstehe, willst du einfach nur einen 0815 Login-Bereich, welcher Formulardaten (i.d.R. Benutzername und Passwort) mit entsprechenden Daten aus einer SQL-Datenbank vergleicht und bei Übereinstimmung eine gewisse Seite aufruft. Richtig?


    Also den Login-Bereich wirst du ja wohl noch selber hinbekommen. Die PHP-Datei zur SQL-Abfrage könnte ungefähr so aussehen:



    Der Name nach $_POST[] muss dem Namen der Formularfelder entsprechen.
    In der sqlconnect.php sollen deine Zugangsdaten zur Datenbank stehen. Die Tabelle in der Datenbank hab ich jetzt einfach mal Users genannt. Hoffe, dass du den Rest selber halbwegs verstehst. Wenn du noch andere Unterseiten, außer die in include aufgerufene hast, dann solltest du die Variablen "mitschleppen" und auf jeder Unterseite anfangs prüfen, ob Passwort und B.-Name vorhanden sind UND auch korrekt sind (wieder die SQL-Abfrage).


    Manche Leute bezahlen für sowas gutes Geld. Ich hab heute meinen sozialen Tag.

  • Zitat

    Original geschrieben von olleyh
    Manche Leute bezahlen für sowas gutes Geld.


    Würde ich nicht tun.


    http://de.wikipedia.org/wiki/SQL-Injection


    Wäre bei Deinem Code vielleicht nicht uninteressant...



    Zitat

    Original geschrieben von olleyh
    Ich hab heute meinen sozialen Tag.


    Ich auch :D

    Dem ist nichts mehr hinzuzufügen.
    Der RAY.

  • Hallo ihr zwei Sozialen.... ;)


    Als ehemaliger Programmierer war mir die SQL Sicherheitslücke bekannt. Meine Frage bezog sich eher darauf, wie ich sicherstelle, dass jede beliebige Seite innerhalb meiner Domain nicht von Fremden geöffnet werden kann. Dazu ist der Ansatz von olleyh sicherlich sinnvoll. Ich werde mal schauen, ob diese Lösung auch performant ist.


    Herzlichen Dank schon einmal!!


    Pascal

    Life is short - eat dessert first.

  • Sehe mich ja immer noch als Anfänger (daher verzeiht dumme Anmerkungen ;)), aber ich verstehe nicht, wieso ein User nicht die im obigen Skript genannte "XXXX.PHP" direkt aufrufen könnte. Diese Datei wird ja nicht durch das Skript geschützt, sondern müsste ja anders geschützt werden (z.B. mit .htaccess).


    Insofern bringt das Skript doch wenig, oder? :confused:


    Berichtigt mich, wenn ich falsch liege.


    Zitat

    Manche Leute bezahlen für sowas gutes Geld.


    Wobei man aber nebenbei auch sehen muss, dass es derartige einfache Skripte zuhauf im Netz frei runterladen kann. "Manche" ist schon korrekt ;).


    Grüße, Öle

    Mit Grüßen ...

  • Zitat

    Original geschrieben von pascalsv
    [...] wie ich sicherstelle, dass jede beliebige Seite innerhalb meiner Domain nicht von Fremden geöffnet werden kann [...]


    Dann nimm' .htaccess


    Die passenden .htpasswd kannst du dir dann per Cron oder manuell aus eine DB generieren lassen.

  • Zitat

    Sehe mich ja immer noch als Anfänger (daher verzeiht dumme Anmerkungen ), aber ich verstehe nicht, wieso ein User nicht die im obigen Skript genannte "XXXX.PHP" direkt aufrufen könnte. Diese Datei wird ja nicht durch das Skript geschützt, sondern müsste ja anders geschützt werden (z.B. mit .htaccess).


    Wenn Dateien per include aufgerufen werden, sind die Variablen auch in dieser Datei verfügbar. Prüft man nun auch in der aufgerufenen Datei Name und Passwort anfangs ab, ist diese natürlich auch geschützt. Deswegen schrieb ich ja auch, dass er die Variablen mitschleppen muss, wenn er weitere Unterdateien hat.

  • Zitat

    Original geschrieben von olleyh
    Prüft man nun auch in der aufgerufenen Datei Name und Passwort anfangs ab, ist diese natürlich auch geschützt. Deswegen schrieb ich ja auch, dass er die Variablen mitschleppen muss, wenn er weitere Unterdateien hat.


    Ja klar. Der Teil fehlt Pascal aber noch, muss er schreiben oder .htaccess oder kann man in PHP-Archiven ja suchen. Es wirkte auf mich so, als ob er dein Skript allein einsetzen wolle.


    War wohl nur meine Interpretation ..

    Mit Grüßen ...

  • Frag bei 1und1 einfach mal an ob deren Webserver mod_auth_mysql unterstützen. Oder find es durch ausprobieren einfach aus. Wie > google ;)


    ~~~ root ~~~

  • Hi,
    ich würde das über Sessions regeln.
    Login wie oben beschrieben, SQL-Injection z.b. über die Funktion quote_smart() wie hier beschrieben http://de2.php.net/mysql_real_escape_string verhindern.


    Ggf. eine Rechtematrix anlegen und auf jeder Seite bzw. in der DB eine Seitenkennung mit der passenden Rechterfordernis eintragen.


    Gruß
    Henry

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!