dexgo: Excelentes Loginscript selber coden

Guten Mittag

Ich wollte mal fragen ob mir jemand sagen wo ich ein Tuto oder ein LoginScript finde wovon ich mir strukturen und/oder Features mal... naja: "abschauen" könnte.

Es ist so dass ich zwar ein Loginscript habe was auch recht gut arbeitet und in meinen Augen auch sicher ist. Jedoch basiert es nur auf standard-Tutos und ich bin mir nicht ganz sicher ob es nicht besser geht, also wie man ein loginscript am sichersten macht (badchar-aussortierung etc.), wie und mit welchen parametern man cookies setzt und der umgang mit Sessions.

Serh gut fänd ich ja wenn Ihr vielleicht auch (teilweise) eure Scripts (sofern ihr könnt) zeigt damit ich sehen kann wie der aufbau im idealfall aussieht.

Was mich vor allem auch an meinem Script stört ist dass es keine Mitgliedernamen mit Sonderzeichen erlaubt. Derzeit können Mitgliedernamen nur Buchstaben (A-Z gross und klein) und Zahlen (0-9) unterstüzen.
Auch wüsste ich agrnicht wie ich da rangehen soll, da ich die Usernamen mit Sonderzeichen, ja auch gerne unverändert, (also ohne \ voranstellung) in meiner Datenbank hätte, dann aber die Abfrage sich schwierig gestaltet.

Kennt also jemand ein Erweitertes Tutorial oder Loginscript wo ich mir dazu wissen aneignen kann?

Lieben Gruss aus Offenbach

www.dexgo.com

  1. Auch wüsste ich agrnicht wie ich da rangehen soll, da ich die Usernamen mit Sonderzeichen, ja auch gerne unverändert, (also ohne \ voranstellung) in meiner Datenbank hätte, dann aber die Abfrage sich schwierig gestaltet.

    Schreib doch die Usernamen mit addslashes() in die DB und wenn du den usernamen irgendwo anzeigen lässt, entfern sie wieder mit stripslashes().

    Infos zur verwendung von Sessions findest du
    http://www.php-center.de/de-html-manual/ref.session.html
    http://es.php.net/manual/de/ref.session.php

    bzw. halt dann auch zu cookies.

    Gruß
    Flo

    1. hi,

      Schreib doch die Usernamen mit addslashes() in die DB und wenn du den usernamen irgendwo anzeigen lässt, entfern sie wieder mit stripslashes().

      das ist aus mehreren gründen absoluter unfug.

      wenn magic_quotes_gpc nicht aktiviert ist, _könnte_ man addslashes() verwenden, um die eingaben vor dem einfügen in eine query _halbwegs_ abzusichern.
      aber selbstverständlich müsste man dann beim auslesen _nicht_ stripslashes() anwenden - weil da gar keine "zusätzlichen" slashes mehr vorhanden sind. diese betreffen _ausschließlich_ die eingabe-schnittstelle der DB.

      und vor allem ist es natürlich murks, weil addslashes hier fehl am platze ist (unter der annahme, dass wir von einer mysql-DB reden).
      die eindeutig zu bevorzugende funktion für diese aufgabe heißt mysql_real_escape_string().

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. Du weisst nicht zufällig wo ich mehr infos zu dem Thema (Mitgliedernamen mit Sonderzeichen) finde, oder?

        Ich habe jetzt auf deinen Hinweis hin mit mysql_reals_escape herumexperimentiert, aber komme auf keienn grünen Zweig dabei.

        gruss dexgo

        1. Hi dexgo,

          Du weisst nicht zufällig wo ich mehr infos zu dem Thema (Mitgliedernamen mit Sonderzeichen) finde, oder?

          Da du ja vermutlich in deiner Usertabelle in der Datenbank eh eine Spalte ID (int, auto_increment) haben wirst, hat jeder User auch eine eigene, einmalige ID. Diese kannst du prima verwenden - willst du z.B. ein Profilbild des Users speichern, kannst du es <ID des Users>.jpg nennen.

          Zusammengefasst: Mache das ganze "ID-based" und nicht "Name-based" ;-)

          Ich habe jetzt auf deinen Hinweis hin mit mysql_reals_escape herumexperimentiert, aber komme auf keienn grünen Zweig dabei.

          Wo ist da jetzt großartig ein Unterschied, als wenn du addslashes() verwendest? Die Art des Anwendes ist ja i.P. identisch - und du verwendest doch hoffentlich etwas derartiges bis jetzt, oder? Wenn nicht ist dein Code nämlich für SQL Injektionen anfällig, sprich jemand kann dir u.U. ganze Tabellen oder sogar Datenbanken löschen.

          MfG, Dennis.

          --
          Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:( mo:} zu:|
          That's life - Es gibt im Leben[tm] keine Zurück-Taste. (Fabian Transchel)