Seite 2 von 4

Re: www.ich-bau-euch-eure-Clusterseite.de

BeitragVerfasst: 30. Nov 2009, 22:12
von Gast
hmm stimmt ;) hab ich noch nich dran gedacht.. aba es stimmt :lol:

Re: www.ich-bau-euch-eure-Clusterseite.de

BeitragVerfasst: 3. Dez 2009, 22:05
von ThaSpeedy
Spiel ja keine rolle, aber was mir immer graut sind javascript (auch ajax) injektion, von mysql fang ich erstmal gar nicht an, hat man ja mitbekommen wie schön ajax ist aber gleichzeitig unsicher es ist gell summa :mrgreen:

Die Frage ist auch wie sauber du proggst und ob es OpenSource sein wird was du dir da bastelst, denn mit grossen interesse (lernen usw^^) würde ich mir den quellcode anschauen, falls das der fall ist. PHP mit MySql ist eine schöne sache wenn man weiss wie man damit umgeht 8-)

Allgemein gilt mit Sessions etc.
Immer Hash-Werte nehmen wenn was in session oder cokies gespeichert wird:

Code: Alles auswählen
<?php
$cash = '0KOzQ@[v[Zl_&mÜ@-]cmyAoa,>WKÜFJux{g/L-H<vQ0${>Tw#;tzlx-sLeCErp_=]ZLdR{JSbhTÜR.VXÄ{KcLnhQO-)s$b&üu(+';
$random = time();
/**
$random in die db fürs vergleichen, username und id gleichzeitig abfragen
**/
$hashmd5 = md5($cash.$random.$username.$userid);
?>



Gruss Speedy 8-)

Re: www.ich-bau-euch-eure-Clusterseite.de

BeitragVerfasst: 23. Dez 2009, 00:02
von Gast
hmmm soweit bin ich noch nich ganz^^..
hab mein buch (das ist so etwas mit papier :D wer kenns ncoh??) aba auch noch nich wirklich lange... lern grad css formatierung.. (weihnachten krig ich dann PHP und mysql *freu*)

mfg shooter

Re: www.ich-bau-euch-eure-Clusterseite.de

BeitragVerfasst: 23. Dez 2009, 13:44
von liro
ich würde die passwörter nciht im klartext speichern... sha1/md5 hilft...

Re: www.ich-bau-euch-eure-Clusterseite.de

BeitragVerfasst: 23. Dez 2009, 14:07
von liro
ThaSpeedy hat geschrieben:Spiel ja keine rolle, aber was mir immer graut sind java (auch ajax) injektion, von mysql fang ich erstmal gar nicht an, hat man ja mitbekommen wie schön ajax ist aber gleichzeitig unsicher es ist gell summa :mrgreen:

java != javascript
und wieso sollte ajax unsicher sein?


Die Frage ist auch wie sauber du proggst und ob es OpenSource sein wird was du dir da bastelst, denn mit grossen interesse (lernen usw^^) würde ich mir den quellcode anschauen, falls das der fall ist. PHP mit MySql ist eine schöne sache wenn man weiss wie man damit umgeht 8-)

Allgemein gilt mit Sessions etc.
Immer Hash-Werte nehmen wenn was in session oder cokies gespeichert wird:

Code: Alles auswählen
<?php
$cash = '0KOzQ@[v[Zl_&mÜ@-]cmyAoa,>WKÜFJux{g/L-H<vQ0${>Tw#;tzlx-sLeCErp_=]ZLdR{JSbhTÜR.VXÄ{KcLnhQO-)s$b&üu(+';
$random = time();
/**
$random in die db fürs vergleichen, username und id gleichzeitig abfragen
**/
$hashmd5 = md5($cash.$random.$username.$userid);
?>


bloß, wieso sollte ich was in cookies speichern? und man kommt nicht mehr an die werte rann, weshalb es ziemlich sinnfrei ist

Gruss Speedy 8-)

Re: www.ich-bau-euch-eure-Clusterseite.de

BeitragVerfasst: 23. Dez 2009, 14:38
von ThaSpeedy
bloß, wieso sollte ich was in cookies speichern? und man kommt nicht mehr an die werte rann, weshalb es ziemlich sinnfrei ist
ich habe nie behauptet das java = javascript ist^^ wär ja auch schwachsinn^^ das ajax was summa benutzt stellt sicherheistmängel dar, wobei ajax immer manipulierbar ist, da der user den kompletten quellcode sehen kann was bei php nicht möglich ist ausser bei hacken des servers...

hier mal ein ungetestetes sample!
also noch fragen? (ja nicht alle funktionen dabei aber der kern ist da)
Code: Alles auswählen
<?php
class Login extends MySQLi {
    private $username = NULL;
    private $passwort = NULL;
    private $hash = PWHASH; // define(PWHASH,"blaaaaaaaaaablalallbllal");
    var $sessionip;
    var $sessionUserid;
    var $sessionusername;
    var $sessionaktiv;
    var $sessionid;
private function EntcrytePasswort($passwort)
    {
        return md5($this->username.$passwort.$this->hash);
    }
function Einloggen($username,$passwort)
    {
        $this->username = $username;
        $this->passwort = $passwort;

        If($this->IsEmpty($this->username)!=true && $this->IsEmpty($this->passwort)!=true)
        {
            throw new Exception("Loginname oder Passwort leer"); //Fehler schmeissen
        }
        else
        {
           
            $query = sprintf("Select ID,Aktiv,Loginname FROM UserDaten WHERE Loginname='%s' AND Passwort = '%s' LIMIT 0,1",$this->Clean($this->username),$this->EntcrytePasswort($this->Clean($this->passwort)));
           

            $result = parent::query($query);
            $row = parent::fetch_object($result);
            If($row->Aktiv == "1")
            {
                 
                        session_name("SESSION".$row->ID."USER"); // Session name
               
               $_SESSION['logged_in'] = true; // einloggen auf "ein"
               $_SESSION['user_id'] = $row->ID; // userid speichern
               $_SESSION['user_name'] = $row->Loginname; // username speichern
               $_SESSION['IP'] = $_SERVER['REMOTE_ADDR']; //ip adresse zum validieren
               $query = sprintf("UPDATE Session SET UserID='%s',IP='%s',SessionID='%s' WHERE User='%s'" ,$row->ID,$_SERVER['REMOTE_ADDR'],session_id(),$row->Loginname);
               if(parent::query($query))
                       
               {
                    header("Location: index.php");
                    exit();
               }
               else //mysql fehler
               {
               throw new Exception("Fehler beim Eintragen der Logindaten");
               }


                }
                else
                {
               throw new Exception("Account Bitte Aktivieren!");
            }

               
      }//empty

    }// function
   
   function CheckLogin ()
    {
        $this->GetLoginDataFromSession();
        if($this->sessionaktiv == true)
        {
            $query = sprintf("Select ID FROM Session WHERE User='%s' AND UserID='%s' AND IP='%s' AND SessionID='%s' LIMIT 0,1",$this->sessionusername,$this->sessionUserid,$this->sessionip,$this->sessionid);
            $result = mysql_query($query);

                if(mysql_num_rows($result)==1)
                {
                    return true;
                }
                else
                {
                    return false;
                }

                //return false;

        }
        else
        {
            return false;
        }
    }
}
   ?>

Re: www.ich-bau-euch-eure-Clusterseite.de

BeitragVerfasst: 23. Dez 2009, 18:19
von liro
xajax(framework, welches für who werwendet wird) überträgt doch nur die daten und setzt sie in bestimmte container ein(zb divs mit bestimmter id)(zu mindest macht summa dies so). so kann der benutzter auf kaum welcher funktionen zugreifen. und solange du alles übertragene mit escape sicherst kann auch nichts passieren(i fall von ner db)(die gilt auch für normale seiten)

da der user den kompletten quellcode sehen kann was bei php nicht möglich ist ausser bei hacken des servers...


wie schon gesagt... kann er eben nicht, da eben nciht alles aufm browser läuft, sondern aufm server berechnet wird.

Re: www.ich-bau-euch-eure-Clusterseite.de

BeitragVerfasst: 24. Dez 2009, 01:14
von ThaSpeedy
... glaub mir es gibt/gab bis dato einen nicht allgemeinen bekannten befehl um auf das admin menu zugriff zu erhalten .... :mrgreen:

Re: www.ich-bau-euch-eure-Clusterseite.de

BeitragVerfasst: 24. Dez 2009, 09:42
von liro
ThaSpeedy hat geschrieben:... glaub mir es gibt/gab bis dato einen nicht allgemeinen bekannten befehl um auf das admin menu zugriff zu erhalten .... :mrgreen:


ja, möglich ist es, nur würde es genauso auch mit ner "normalen" seite funktionieren => kein ajax fehler

Re: www.ich-bau-euch-eure-Clusterseite.de

BeitragVerfasst: 31. Dez 2009, 05:12
von ThaSpeedy
liro hat geschrieben:
ThaSpeedy hat geschrieben:... glaub mir es gibt/gab bis dato einen nicht allgemeinen bekannten befehl um auf das admin menu zugriff zu erhalten .... :mrgreen:


ja, möglich ist es, nur würde es genauso auch mit ner "normalen" seite funktionieren => kein ajax fehler

aber es wir die nicht so ins gesicht gezeigt wie man auf bestimmte elemente drauf zu greifen kann^^ wobei man da auch noch eine sicherheit einbaut weil man jaa mit links arbeitet und nicht mit ajax was das aufrufen wesentlich einfacher und experimentierfreudiger macht :mrgreen: