[PHP] Einfaches Login - Register System [PHP]

  • Mahlzeit für die Neulinge unter PHP.
    Früher hatte ich immer ein Problem mit einem Register und Login, deswegen dachte ich mir ich gebe euch ein einfaches Register und Login System.


    Spoiler anzeigen


    index.html

    login.php

    register.html

    register.php

    users.sql

    SQL
    CREATE TABLE `users` (
      `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `username` varchar(100) NOT NULL,
      `passwort` varchar(100) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;


    Viel Spaß,
    rE-b0ot

  • Jap und mit diesem Script hat dir jeder innerhalb von einer Minute die Datenbank geklaut.


    Da denkt wohl jemand auf schlau tun zu müssen. Im Script befindet sich keine SQL-Lücke, höchstens die XSS könnte vlt. gefährlich werden. Ich würde dir empfehlen unnötige Variablen sein zu lassen und vor jedem POST zu prüfen ob auch jeder Parameter gesetzt wurde.

    Cheers
    Steve Winfield

  • Du checkst nicht ob ein Username schon existiert, ziemlich unsicher.

    Nova:
    Schau unten ^^


    Da denkt wohl jemand auf schlau tun zu müssen. Im Script befindet sich keine SQL-Lücke, höchstens die XSS könnte vlt. gefährlich werden. Ich würde dir empfehlen unnötige Variablen sein zu lassen und vor jedem POST zu prüfen ob auch jeder Parameter gesetzt wurde.

    Cheers
    Steve Winfield

    Steve Dleifniw:
    Ich habe es für Einsteiger programmiert, damit Sie es sehen wie so ein Register grundsätzlich aufgebaut ist.
    Dass man Parameter usw. prüfen soll ist mir natürlich klar, denn Sicherheit geht bei mir immer vor!

  • PHP
    <?phpsession_start();ini_set('display_errors', 1);$MySQL['host'] = 'localhost';$MySQL['username'] = 'root';$MySQL['password'] = 'root';$MySQL['datebase'] = 'projekt';mysql_connect($MySQL['host'],$MySQL['username'],$MySQL['password'])or die (mysql_error());mysql_select_db($MySQL['datebase'])or die (mysql_error());if (mysql_num_rows(mysql_query("SELECT username, password FROM users WHERE username = '".mysql_real_escape_string($_POST["username"])."' AND password = '".mysql_real_escape_string($_POST["password"]."'")) > 0) { 	$_SESSION["username"] = htmlspecialchars($_POST["username"]); 	$_SESSION["password"] = htmlspecialchars($_POST["password"]); 	echo "Herzlich willkommen  ".$_SESSION["username"]."";} else { 	echo "Falsches Passwort oder Username!";}?>



    Hab dir das Login-Script bisschen verbessert.

    Liebe Grüsse.

  • Ich habe es für Einsteiger programmiert, damit Sie es sehen wie so ein Register grundsätzlich aufgebaut ist.
    Dass man Parameter usw. prüfen soll ist mir natürlich klar, denn Sicherheit geht bei mir immer vor!

    Ich glaube eher Du kannst nicht programmieren und hast den Code aus dem Internet geklaut.

  • Zitat von »rE-b0ot«



    Ich habe es für Einsteiger programmiert, damit Sie es sehen wie so ein Register grundsätzlich aufgebaut ist.
    Dass man Parameter usw. prüfen soll ist mir natürlich klar, denn Sicherheit geht bei mir immer vor!
    Ich glaube eher Du kannst nicht programmieren und hast den Code aus dem Internet geklaut.

    Natürlich, ich habe es aus dem Internet geklaut. Was denn sonnst?
    Ich habe keine Hobbys und versuche mir so Fame aufzubauen.
    Also bitte, wenn Du es nicht glaubst dann lass es sein, verschwende doch keine Zeit mit so einem wie mir der aus dem Internet klaut.

  • PHP
    <!--?phpsession_start();ini_set('display_errors', 1);$MySQL['host'] = 'localhost';$MySQL['username'] = 'root';$MySQL['password'] = 'root';$MySQL['datebase'] = 'projekt';mysql_connect($MySQL['host'],$MySQL['username'],$MySQL['password'])or die (mysql_error());mysql_select_db($MySQL['datebase'])or die (mysql_error());if (mysql_num_rows(mysql_query("SELECT username, password FROM users WHERE username = '".mysql_real_escape_string($_POST["username"])."' AND password = '".mysql_real_escape_string($_POST["password"]."'")) > 0) { 	$_SESSION["username"] = htmlspecialchars($_POST["username"]); 	$_SESSION["password"] = htmlspecialchars($_POST["password"]); 	echo "Herzlich willkommen  ".$_SESSION["username"]."";} else { 	echo "Falsches Passwort oder Username!";}?>



    Hab dir das Login-Script bisschen verbessert.

    Liebe Grüsse.


    @germankb:Erst einmal danke, für deine Arbeit. Aber wie geschrieben war der Skript nur für Einsteiger.
    Mein Projekt mit HabboTune ist völlig anderst programmiert (Sicherer) und Unnex prüft das ganze auch immer auf Sicherheitslücken.

    Und noch an alle, nervt mich nicht mit dummen Kommentare.
    Man kann gerne normale Feedbacks geben, aber nicht wie "Das hast Du aus dem Internet geklaut" usw.

    Grüße rE-b0ot

  • Steve Dleifniw:
    Ich habe es für Einsteiger programmiert, damit Sie es sehen wie so ein Register grundsätzlich aufgebaut ist.
    Dass man Parameter usw. prüfen soll ist mir natürlich klar, denn Sicherheit geht bei mir immer vor!


    Das sehen sie auch wenn ein paar Checks mir drinnen sind. Sie lernen es deshalb falsch und machen dann den gleichen Fehler wie du und das nimmt dann alles seinen Lauf.. Wieso denkt jeder: Umso kleiner der Script, umso einfacher ist er

    Cheers
    Steve Winfield

  • @rE-b0ot: Anscheinend versteht da jemand nicht den Unterschied zwischen Codieren und Programmieren. ;)

    Mal wieder so ein Schlaumeier, yuhu. Kodieren bedeutet z.B. einen Text verschlüsseln, also ein Antonym für Dekodieren. Programmieren ist in seinem Fall schon richtig, also bitte das nächste Mal nachdenken, bevor du hier etwas Unüberlegtes postest.

    Emerica:
    Es ist wohl in dem Punkt unsicher, das man sich als jemand anderes ausgeben kann um so eventuell an spezielle Daten kommt, an die nur der User dran kommt, der den gleichen Nutzernamen besitzt. Falls eine Session gesetzt wird (mit dem Usernamen zur Authentifizierung), könnte man sich wenn der dieser User Zugriff auf einen Adminbereich hat, auch dort einloggen.


    Cheers
    Steve Winfield

    Einmal editiert, zuletzt von SteveWinfield (24. Januar 2014 um 14:18)

  • Mal wieder so ein Schlaumeier, yuhu. Kodieren bedeutet z.B. einen Text verschlüsseln, also ein Antonym für Dekodieren. Programmieren ist in seinem Fall schon richtig, also bitte das nächste Mal nachdenken, bevor du hier etwas Unüberlegtes postest.

    Emerica:
    Es ist wohl in dem Punkt unsicher, das man sich als jemand anderes ausgeben kann um so eventuell an spezielle Daten kommt, an die nur der User dran kommt, der den gleichen Nutzernamen besitzt. Falls eine Session gesetzt wird (mit dem Usernamen zur Authentifizierung), könnte man sich wenn der dieser User Zugriff auf einen Adminbereich hat, auch dort einloggen.


    Cheers
    Steve Winfield

    Mal wieder so ein Schlaumeier, yuhu. Kodieren bedeutet z.B. einen Text verschlüsseln, also ein Antonym für Dekodieren. Programmieren ist in seinem Fall schon richtig, also bitte das nächste Mal nachdenken, bevor du hier etwas Unüberlegtes postest.

    Emerica:
    Es ist wohl in dem Punkt unsicher, das man sich als jemand anderes ausgeben kann um so eventuell an spezielle Daten kommt, an die nur der User dran kommt, der den gleichen Nutzernamen besitzt. Falls eine Session gesetzt wird (mit dem Usernamen zur Authentifizierung), könnte man sich wenn der dieser User Zugriff auf einen Adminbereich hat, auch dort einloggen.


    Cheers
    Steve Winfield

    Bin davon ausgegangen das niemand diese Datenbank Struktur verwendet, sonst - nenn ich sowas eigene Dummheit, und ja dann hast du Recht, dann ist es unsicher und EINFACH NUR DUMM 8o

Jetzt mitmachen!

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