Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: Sicheres Login?

  1. #1
    minder
    Gast

    Standard Sicheres Login?

    Hi

    Ist das ein sicheres Login?

    PHP-Code:
            if ($_POST['user'] != "" AND $_POST['password'] != "")
            {
                if (
    $this->mysql->connect())
                {
                    if (
    $this->mysql->entry_count("user""name='".$_POST['user']."' AND password='".md5($_POST['password'])."' AND block='0'") > 0)
                    {
                        
    $this->result $this->mysql->read_entry("user","name='".$_POST['user']."' AND password='".md5($_POST['password'])."'",""2);

                        
    $_SESSION['access'] = $this->result[0]->access;
                        
    $_SESSION['name'] = $this->result[0]->name;
                        
    $_SESSION['firstname'] = $this->result[0]->firstname;
                        
    $_SESSION['lastname'] = $this->result[0]->lastname;
                        
    $_SESSION['email'] = $this->result[0]->email;
                        
    $_SESSION['state'] = 1
    die else sachen fehlen
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    König(in) Avatar von crAzywuLf
    Registriert seit
    03.02.2009
    Beiträge
    1.175
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Sicheres Login?

    Zitat Zitat von minder Beitrag anzeigen
    Hi

    Ist das ein sicheres Login?

    PHP-Code:
            if ($_POST['user'] != "" AND $_POST['password'] != "")
            {
                if (
    $this->mysql->connect())
                {
                    if (
    $this->mysql->entry_count("user""name='".$_POST['user']."' AND password='".md5($_POST['password'])."' AND block='0'") > 0)
                    {
                        
    $this->result $this->mysql->read_entry("user","name='".$_POST['user']."' AND password='".md5($_POST['password'])."'",""2);

                        
    $_SESSION['access'] = $this->result[0]->access;
                        
    $_SESSION['name'] = $this->result[0]->name;
                        
    $_SESSION['firstname'] = $this->result[0]->firstname;
                        
    $_SESSION['lastname'] = $this->result[0]->lastname;
                        
    $_SESSION['email'] = $this->result[0]->email;
                        
    $_SESSION['state'] = 1
    die else sachen fehlen
    Äh nein
    ..................................
    Gruß crAzywuLf

  3. #3
    Pion
    Gast

    Standard AW: Sicheres Login?

    Wie sieht den die Klasse aus?
    Sprich mysql->entry_count

    mfg

  4. #4
    minder
    Gast

    Standard AW: Sicheres Login?

    public function entry_count ($table, $where)
    {

    $this->sql = "SELECT * FROM ".$this->prefix.$table." WHERE ".$where;


    $this->query = mysql_query($this->sql) or die("Shit happens (count)");

    return mysql_num_rows($this->query);
    }

  5. #5
    minder
    Gast

    Standard AW: Sicheres Login?

    Zitat Zitat von crAzywuLf Beitrag anzeigen
    Äh nein
    ..................................
    genaue beschreibung

  6. #6
    Pion
    Gast

    Standard AW: Sicheres Login?

    OKay also folgendes:

    Schau dir mal "Mysql Injection" an

    read_entry kannst uns auch mal noch zeigen, also dein größtes Problem was das scirpt unsicher macht ist http://de.wikipedia.org/wiki/SQL-Injection

  7. #7
    minder
    Gast

    Standard AW: Sicheres Login?

    Ja schon aber das geht ja nur wenn die daten per get übergeben werden?! aber ich benutze post

  8. #8
    Pion
    Gast

    Standard AW: Sicheres Login?

    Was für ein Irrglaube, das geht überall da wo der Usermanipulieren kann spricht get, post, cookie etc

    mfg

  9. #9
    König(in) Avatar von crAzywuLf
    Registriert seit
    03.02.2009
    Beiträge
    1.175
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Sicheres Login?

    Zitat Zitat von minder Beitrag anzeigen
    genaue beschreibung
    Hättest du die Suche benutzt hättest du jetzt mindestens schon 10 Lösungen von Usern die diesen und letzten Monat gepostet haben...
    Selbst meine Oma hätte was zu dem Thema hier im Forum gefunden.

    PHP-Code:
    <?php
    $user 
    $_POST['user']; 
    $password $_POST['password'];
    if (!empty(
    $user) && !empty($password))
    {
        if (
    $this->mysql->connect())
        {
            if (
    $this->mysql->entry_count("user""`name` = '" mysql_real_escape_string($user) . "' AND `password` = '" md5($password) . "' AND `block` = '0'") > 0)
            {
                
    $this->result $this->mysql->read_entry("user","`name` = '" mysql_real_escape_string($user) . "' AND `password` = '" md5($password) . "'"""2);

                
    $_SESSION['access'] = $this->result[0]->access;
                
    $_SESSION['name'] = $this->result[0]->name;
                
    $_SESSION['firstname'] = $this->result[0]->firstname;
                
    $_SESSION['lastname'] = $this->result[0]->lastname;
                
    $_SESSION['email'] = $this->result[0]->email;
                
                
    # ...
                
    ?>
    mysql_real_escape_string()
    Da das Passwort mit md5 versiehst, ist das schon mal ganz ok.
    Den Namen könntest du noch mit einem regulären Ausdruck oder Funktionen wie ctype_alnum() prüfen, hier nach dem wie die bei dir aussehen und welche Zeichen du zulässt\zulassen willst.

    Ansonsten währe noch ein Problem, dass der Query von $this->mysql->read_entry warscheinlich irgendwie so aussieht:
    SELECT * FROM....
    was nicht gut ist...
    Du solltest nur Felder auslesen die du auch benutzt.

    Bitteschön, aber die Suche währe einfacher gewesen.

    EDIT:
    p.s.
    mit COUNT(*) macht die Funktion erst richtig Sinn^^
    PHP-Code:
    <?php
    public function entry_count ($table$where)
    {
        
    $this->sql "SELECT COUNT(*) FROM " $this->prefix.$table " WHERE " $where;
        
    $this->query mysql_query($this->sql) or die("Shit happens (count)");
        return 
    mysql_num_rows($this->query);

    ?>
    Geändert von crAzywuLf (05.06.2009 um 20:30 Uhr)
    Gruß crAzywuLf

  10. #10
    Pion
    Gast

    Standard AW: Sicheres Login?

    @treadstarter
    So und jetzt bin ich mal so nett und gibt dir mal nen Code der vllt interessant für dich wäre:
    Code:
    $querystring = preg_replace('/(FROM|UPDATE|INTO|TABLE|JOIN) (.+)/Us', '$1 '.$pref.'_$2', $querystring);
    Das setzz du in deine function entry_count ein, dann kannst du dir sparen immer Sachen an die Funktion vom Query übergeben zu müssen


    @crazywolf
    !empty($user) oder vllt doch einfach isset($user)

Ähnliche Themen

  1. Sicheres WLAN??
    Von CTS im Forum Computer - Internet Forum
    Antworten: 0
    Letzter Beitrag: 16.07.2008, 12:15
  2. Login
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 06.10.2007, 04:22
  3. Hilfe, sicheres cokie aktiviert und nix geht mehr DRINGEND!!
    Von Dirk im Forum Webanwendungen - Webapplikationen
    Antworten: 0
    Letzter Beitrag: 02.07.2006, 17:20
  4. login
    Von steve im Forum HTML & CSS Forum
    Antworten: 1
    Letzter Beitrag: 11.02.2005, 02:43
  5. Login
    Von jakobus im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 6
    Letzter Beitrag: 24.10.2004, 21:10

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •