Passwortliste Abfrage

  • Hallo,


    jetzt mal im Vorweg, ich bin ein kompletter PHP Laie und beschäftige mich eigentlich garnicht mit dem, aber
    brauche jetzt einen Code für private Zwecke. Es wäre nett wenn jemand was passendes hätte..


    Ich denke für Profis sind das 2 Minuten Arbeit.
    Also folgendes, ich will eine Seite machen wo man nen CODE in ein Formularfeld eingeben muss, wenn der code RICHTIG ist, kommt man auf Seite X.
    Ist der Code falsch, kommt ne entsprechende Meldung.


    Solche Scripte hab ich eh schon oft in Google gefunden, bloß will ich nicht nur, dass es einen möglichen Code gibt, sondern mehrere, am besten
    in einer anderen Datei definiert.


    Also in anderen Worten: Ich definiere in einer anderen Datei .. was weiß ich .. 50 verschiedene Codes. Und mit diesen Codes hat man nun Zugang zu Content X.
    Sonst kommt eine Meldung, dass der Code falsch ist.


    Hab halt bisher leider nur Php-Scripts für 1 x Code gefunden (also sowas wie nen Passwortscript halt) aber ich brauch eben das gleiche nur mit dem Unterschied dass es mehrere Codes sein können...
    (die ich vorher irgendwo definiere).


    Wäre wirklich sehr dankbar, wenn mir jemand des Codegeschnipsel zur Verfügung stellt :)



    PS : Wenn jemand besonders viel Langeweile hat oder nett ist, kann er gleich 2 Scripte reinstellen. Eines wo normal nach den Codes gefragt wird, und eines, wo 1 Code nur 1x gültig ist, und dannach kein weiteres mal verwendet werden kann. (Also im System gelöscht wird?)Ist aber nicht unbedingt nötig, wäre schon mit der ersten Variante glücklich =)


    Mit freundlichen Grüßen,
    topgreen:D


    EDIT: Mit diesem Code würde es gehen:




    Aber ich wills lieber so, dass ich in eine seperate Datei (von mir aus auch DB) Passwörter/Codes hinterlege, und nicht aufwändig ständig OR OR OR schreiben muss.
    Das müsste mir wer erklären..

  • Du musst dich schon entscheiden was Du willst. Passwörter können auf viele verschiedene Wege gespeichert werden.


    Wenn Du eine Datei verwenden willst, dann kannst Du diese Zeile mit PHP einlesen (Stichwort fopen) und dann Zeilenweise durchgehen bis Du das eingegebene Passwort findest. Also quasi in der Art:


    PHP
    1. $gefunden = false;
    2. foreach( $file as $zeile ) {
    3. if( $zeile == $passwort ) {
    4. $gefunden = true;
    5. }
    6. }
    7. if( $gefunden ) { echo "Zugriff erlaubt"; }


    Wenn Du eine Datenbank verwenden willst, hängt es primär davon ab welche Datenbank und mit welchem Datenbankmodell. Angenommen Du hast eine MySQL-Datenbank mit einer Tabelle user in der es eine Spalte Passwort gibt in der wiederum die Passwörter mit MD5() gespeichert sind. Dann könnte man mit PHP z.B. so darauf zugreifen:


    PHP
    1. $result = mysql_query("SELECT * FROM user WHERE pw = MD5('".mysql_escape_string($passwort)."')");


    Das sind nur minimale Beispiele und keine Komplettlösungen.

  • Da kommst nun wirklich auf die Code Menge an welchen Lösung weg man dann eben einschlägt.
    Naja die 2 Minuten schätzung halt ich doch etwas als sehr Knapp bemessen. In 120 Sekunden kann man nicht wirklich viel Schreiben.


    Selbst das Posten im Forum kann unter umständen schon mal soviel Zeit in anspruch nehmen.


    Wenn du dich für eine Datei entscheidet sollte sie Strukturiert sein. fopen würd ich allerdings nicht verwenden da gibst bessere möglichkeiten.
    Soweit ich dich Verstanden hab willst du einen Ticket Code haben und keine Password abfrage beinhalten nähmlich auch immer den Benutzernamen.


    Die einfachste möglichkeit was strukturieren in einer Datei ist die Verwendung eines Array.


    zb.

    PHP
    1. <?
    2. return array
    3. (
    4. '123','555',
    5. '777','155',
    6. );
    7. ?>


    Hier ein Beispiel wie du im Array suchen kannst


    Genauso kannst du auch beim eimaliger gültigkeit des Ticket vorgehen.
    Dazu brauchst du nur den Teil oben ergänzen mit dem Löschen des Ticket im Array und anschließend wieder in die Datei zurück schreiben.
    Siehe dazu file_put_contents
    http://www.php.net/manual/de/function.file-put-contents.php


    Siehe auch var_export das wandelt dir das Array in ein geschrieben String um als Array
    http://at.php.net/manual/de/function.var-export.php


    Zum Löschen von Werten im Array siehe hier:
    http://www.rither.de/a/informa…us-einem-array-entfernen/


    Wie du nun sehen kann hat selbst dieser Forum Post schon mehr als 2 Minuten in Anspruch genohmen.


    Mfg Splasch

  • So unverblümt nach einem fertigen Quellcode zu verlangen, finde ich ganz schön dreist.
    Und wenn du keine Ahnung von PHP hast, woher willst du wissen, dass das eine Sache von 2 Minuten ist.
    Außerdem solltest du dich entscheiden, was du willst! Datei oder Datenbank?

  • Da haste 'ne DB-Version mit einmaliger Nutzung der Codes (ungetestet)