[PHP] Passwort und Benutzer in URL mit Datenbank vergleichen

  • Guten Tag,
    Da ich leider kaum Ahnung von PHP habe suche ich jemanden der es mir schreiben kann.
    Es sollte dann folgender maßen funktionieren man ruft den Link auf

    Code
    www.blabla.de/datei.php?username=NamedesUsers&password=password


    Und die datei soll den Username und das Password vergleichen. Wenn es übereinstimmt soll die Funktion angezeigt werden wenn nicht soll als Echo kommen "Kein Zugriff!"
    hoffe jemand kann mir diese kleine Datei schreiben
    Danke
    mfg.

    Einmal editiert, zuletzt von Luis ()

  • Du greifst auf die Werte mit $_GET zu


    Ergo:

    PHP
    if($_GET['username'] == "bla" && &_GET['password'] == "xyz") {
        echo "Zugriff";
    } else {    
    echo "Zugriff verweigert!";
    }


    Danke allerdings hätte ich es gerne so das die Daten aus dem Link mit denen in der Datenbank verglichen werden. und jeder Benutzer hat ein individuelles Password

  • Einfach sowas:


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Aktuell sieht meine PHP Datei so aus:



    So habe ich es aktuell doch es Funktioniert leider nicht wie gewollt
    Der Link müsste ja jetzt so sein:


    Code
    http://www.adresse.de/datei.php?name=name&password=password


    Kaliber:

    Einmal editiert, zuletzt von Luis ()

  • Ich glaube ich muss hier mal intervenieren.


    Bitte, bitte (!) niemals Passwörter in Klartext via GET übermitteln, niemals! Ein bisschen an die Sicherheit denken sollte man doch schon. Entweder via HTTPS oder, die einfachere Lösung, das Passwort direkt als Hash hinsenden.


    Ein API basteln ist schön, aber warum nicht ordentlich? JSON, XML oder irgendein anderes Format wäre hier angebracht, wobei ich definitiv zu den beiden genannten rate.


    Die Daten einfach direkt von der Datenbank überprüfen lassen: WHERE username = BENUTZERNAME AND password = PASSWORD, ist der Datensatz dann leer, ist eines der Anmeldekriterien invalid (Passwort oder Benutzername falsch, Benutzer existiert nicht). Das Passwort, wie bereits oben erwähnt, gehasht übermitteln und direkt so in der Datenbank abfragen.


    PDO verwenden, nicht die MySQL-Extension oder MySQLi.


    Das wars glaube ich erstmal.

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.

  • Du verstehst das anscheinend nicht. Du machst dein Projekt damit nur unsicherer. TCP-Traffic abfangen ist extrem einfach, HTTP dazu noch leicht verständlich auszulesen. Du versendest das Passwort des Benutzers im Klartext, jeder der irgendwo dazwischen hockt kann das Passwort so extremst einfach abfangen. Mal davon abgesehen, dass es so auch in den Request-Logs des Webservers steht (im Gegensatz zu einem POST-Request, bei dem die Parameters nicht in der URI enthalten sind). Was nun also, wenn irgendwer das Passwort eines Nutzers nachweislich durch dein Programm abfangen konnte? Dann ist die Kacke am Dampfen.


    Sei doch so nett und nimm meine Kritik an.

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.

  • Ich habe es nur hier lediglich Passwort genannt es ist ein Key der Random für jeden Benutzer gesetzt wird dieser ist dafür um zu bestätigen das es wirklich der User ist. Den Key bekommt er dann von einem Keybinderadmin und kann somit das Overlay nutzen.

  • Habe es nicht getestet, sollte aber gehen.


    Edit:
    Tut mir leid, war ein Fehler drinne.
    So müsste es klappen:


    Edit:
    Ach dachte du willst für deinen Keybinder oderso das Passwort per PHP prüfen.
    Ja, wenn du direkt auf der Seite Funktionen haben möchtest dann halt so:

    Einmal editiert, zuletzt von Azcaq ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Es ist nur ein kleines Projekt für einen Keybinder also nichts großes muss nicht sicher sein nur so das nicht einfach jeder trottel die php Datei aufrufen kann und direkt die Daten hat.


    Was spricht gegen mysqli ?


    MySQLi ist ziemlich ähnlich zu PDO.
    Mysqli (wenn man es richtig verwendet) benutzt auch prepared statements usw

    ik bin der vito c:

  • Was spricht gegen mysqli ?
    MySQLi ist ziemlich ähnlich zu PDO.
    Mysqli (wenn man es richtig verwendet) benutzt auch prepared statements usw

    PDO unterstützt 12 verschiedene Datenbank Treiber, wobei MySQLi nur MySQL unterstützt.
    Außerdem bietet PDO benannte Parameter, MySQLi nicht. Bei PDO kann man Anfragen vorbereiten und
    später erst ausführen, bei MySQLi nicht. Ich finde PDO daher besser. Für kleinere Projekte kann man aber auch MySQLi nutzen.

  • Bei PDO kann man Anfragen vorbereiten und
    später erst ausführen,


    Ähm ..


    Doch
    das sind prepared statements.


    Wenn man als DB eh nur mysql verwendet, kann man auch sofort PDO nutzen, da es mich nicht juckt wieviele Treiber der kann wenn ich zu 100% nur mysql nutze.


    Außerdem müsste ja nach DB Typ auch die Queries angepasst werden.


    Grüße

    ik bin der vito c:


  • Soweit ich weiß unterstützt MySQLi keine prepared Statements. Wenn es ein groesseres Projekt sein soll was Open Source wird wuerde ich PDO nutzen.