kostenloser Webspace werbefrei: lima-city


sicherer Loginbereich

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    notenverwaltung

    notenverwaltung hat kostenlosen Webspace.

    Für mein nächstes Projekt brauche ich ein sicherer Loginbereich. Wie habt ihr das realisiert, damit sich Kunden registrieren können und dann auch nur ihre Daten sehen? Geht das mit htaccess oder ist dies nur für ein user?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Funktioniert auch mit .htaccess, du kannst ja mehrer User mit verschiedenen Passwörter anlegen.

    Aber damit die nur Ihre Daten sehen können, kommst du über eine DB gestützte Rechteverwaltung nicht herum.

    Ich persönlich setze PHP-Fusion ein, wofür gerade eine Kundenverwaltung programmiert wird.
  4. Am besten geht das sicherlich mit PHP und einer Datenbank (MySQL). Login-Scripte und Tutorials gibt es genügend im Internet, einfach mal googeln :wink: Was oft vergessen wird ist aber mysql_real_escape_string(); zum Schutz vor SQL-Injections. Das kann/sollte man noch mit einbringen.

    Edit:
    Ach ja, habe ganz vergessen: Du solltest auch noch htmlentities(); verwenden, um die Seite vor XSS zu schützen.

    Beitrag zuletzt geändert: 31.1.2013 22:26:31 von fuhnefreak
  5. Autor dieses Themas

    notenverwaltung

    notenverwaltung hat kostenlosen Webspace.

    Vielen dank. Ich werde es mir mal anschauen und hoffe ich schaffe das :D
  6. Hallo notenverwaltung,

    ich möchte dir mal ein Beispiel geben, wie eine SQL-Injektion funktionieren kann.

    $sql = 'SELECT * FROM Berechtigung  WHERE  Benutzer = "' . $_POST['user'] . '" AND  Passwort = "' . $_POST['pass'] . '"';
    $result = mysql_query($sql);
    if (mysql_num_rows($result)) {
        /*Der Benutzer hat Zugang
          Code zur Weiterverarbeitung.....
    } else {
        // Der Benutzer hat keinen Zugang
          Code.....
    }

    Was passiert wenn der User in das Passwortfeld folgendes eingibt:
    crack" OR ""="
    Die SQL-Abfrage lautet dann:
    $sql = 'SELECT * FROM Berechtigung WHERE Benutzer = "" AND Passwort= "crack" OR ""=""';
    Die Bedingung ""="" ist immer wahr.
    Die if-Bedingung ist erfüllt und der Angreifer hat Zugang, obwohl er weder über Benutzernamen noch Passwort verfügt.
    Im schlimmsten Fall werden alle Benutzernamen und dazugehörige Passwörter dargestellt.
    Schutz bieten wie bereits in anderen Beiträgen erwähnt, Escapen und sehr zu empfehlen Prepared Statements.

    mfg,
    timebandit

  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!