Löschen, PHP Cookie?

Momentan habe ich ein cookie gesetzt wie folgt:

setcookie("username",$username,time()+3600*24*5);

Wie würde ich mich über das clearing der Wert des cookie, so dass der Benutzername nicht gefüllt mehr?

Ich habe es gelöscht, wie folgt:

setcookie("username","",time()-60000);

Den Benutzernamen des Benutzers noch kommt obwohl.

HTML-Formular:

<?php
    session_start();

    $username = NULL;
    $password = NULL;

    if(isset($_SESSION['username'])){
        $username = $_COOKIE['username'];
        $password = $_COOKIE['password'];
    }
?>
<html>
    <title>Login</title>
    <body bgcolor='#000000'>
        <font color="white">
    <H2><div align='center'>Login</div></H2>
    <form align='center' action='login.php' method='POST'>
            Username: <input type='text' name='username' value='<?$_COOKIE['username']?>'><br \>
            Password: <input type='password' name='password' value='<?$password?>'><br \>
            Remember Me <input type='checkbox' name='remember' value='rememberme'><br \>
            <input type='submit' value='Login'>
        </form>
        </font>
    </body>
</html>

PHP-Skript zum Bearbeiten der form:

<?php
    session_start();

    $username = $_POST['username'];
    $password = $_POST['password'];

    //Hash password in a new variable
    $password2 = md5($password);

    require_once "/home/a7435766/public_html/scripts/dbconnect.php";

    $query = mysql_query("SELECT * FROM userstwo WHERE username = '$username' && password = '$password2'");

    if((mysql_num_rows($query)) != 0) {
        //Store username and password in a cookie
        if($_POST['remember'] == 'rememberme') {
            setcookie("username",$username,time()+3600*24*5,'','.ohjustthatguy.com');
            setcookie("password",$password,time()+3600*24*2,'','.ohjustthatguy.com');
        } else {
            setcookie("username","",time()-10,'','.ohjustthatguy.com');
            setcookie("password","",time()-10,'','.ohjustthatguy.com');
    }
        $_SESSION['username'] = $username;
        header('Location: http://www.ohjustthatguy.com/uploads/uploads.html');
        } else {
        header('Location: http://www.ohjustthatguy.com/uploads/');
    }
?>

Original-Quellen auf pastebin

  • Was passiert, wenn der Benutzer ändert den Benutzernamen cookie? Können Sie sich anmelden als ein anderer Benutzer?
  • Vielleicht ist es ein PHP Fehler. Ist das eine gültige Anweisung if(isset($_COOKIE['username']) && isset($_COOKIE['Passwort']))
  • Es ist gültig, aber es ist eine schlechte Praxis.
  • Was ist der richtige Weg, es zu tun?
  • Verwenden Sie $_SESSION. Der Benutzer kann nicht ändern, Daten im array.
  • Was ist, wenn die session zerstört wird beim verlassen der Seite? Das cookie wird immer noch bleiben, aber der Sitzung nicht.
  • Nein, $_SESSION bleibt bestehen, bis das cookie repräsentiert es zerstört wird oder das Zeitlimit für die Sitzung oder rufen Sie session_destroy(). Werfen Sie einen Blick auf dieses tutorial: tizag.com/phpT/phpsessions.php
  • Überprüfen Sie die zwei pastebin-links habe ich oben gepostet. Ich wäre sehr dankbar, wenn Sie konnte es betrachten und sehen, wenn Sie sehen, ein problem.
  • Sie haben eine Sicherheitslücke. Was passiert, wenn man ' || ''=' in das Passwort-Feld?
  • Ich verstehe nicht, was du meinst.
  • Siehe stackoverflow.com/questions/332365/...
  • Nein, ich verstehe das. Ich verstehe nicht, was Sie mir erzählen werden, und wo Sie wollen, mich zu setzen. Können Sie mir das snippet des Codes, wo das eingefügt werden soll?
  • Nein, das ist kein code möchte ich einfügen, aber vorstellen, wenn ein Benutzer eingegeben werden, der in das Feld Benutzername ein. Lesen Sie unixwiz.net/techtips/sql-injection.html, um herauszufinden, wie diese zu mildern.
  • pastebin.com/inwsRCdf würden, die den trick tun?
  • NÖ. Das Feld Benutzername ist ungefiltert. Auch gibt es keine Notwendigkeit zu tun, XSS-Filterung auf das Passwort-Feld, wenn es sich um MD5 würde. Auch das ist nicht gut genug, wenn Sie wollen, um XSS-filter. Sie müssen auch schützen Sie gegen Millionen von anderen tags, wie object oder media. Auch, wenn ich empfahl, $_SESSION, ich meinte, dass sollten Sie speichern den Benutzernamen in der it. Ich vermute, dass ein Benutzer könnte comprimise Ihren code, indem Sie ändern den Benutzernamen cookie. Auch deshalb setzt Sie Benutzername und Passwort ein, um zu unterschiedlichen Zeiten ablaufen? Bearbeiten, können Sie mir eine mail an [email protected]? Ich fand eine bedeutende Schwachstelle.
  • Ich bekomme eine virus-check-Fehler, wenn ich springen diese Website BTW. Location: ohjustthatguy.com The requested location contains malicious content, identified as Troj/Skiddie-A and was blocked from downloading.
  • mögliche Duplikate von Entfernen Sie ein cookie

InformationsquelleAutor Jason | 2011-06-11
Schreibe einen Kommentar