ERLEDIGT
NEIN
NEIN
ANTWORTEN
15
15
ZUGRIFFE
916
916
EMPFEHLEN
-
27.03.06 19:14 #1
- Registriert seit
- Sep 2004
- Beiträge
- 200
Hi,
ich weiß, das thema war hier sicher schon hundert mal oder so, ich hab auch ca. 30 beiträge gelesen, jedoch hat keiner davon mein problem gelöst, und das ist folgendes:
ich setze cookies:
und möchte sie wenn der user die seite wieder aufmacht/neu lädt/sonstiges die cookies wieder ausgelesen werden, doch das funktioniert bei mir nicht. Cookies werden akzepiert und korrekt geschrieben.PHP-Code:<?
setcookie('login[user]', $usr, time() + (3600*24*31)) or die ("cookie error");
setcookie('login[pass]', $pass, time() + (3600*24*31)) or die ("cookie error");
?>
cookies auslesen:
oder muss das auch geschehen bevor header infos gesendet werden? DankePHP-Code:<?PHP
error_reporting(E_ALL);
if(isset($_COOKIE['login']))
{
echo "Hallo ".$_COOKIE['login']."!";
}
else
{
echo "Willkommen, bitte loggen Sie sich ein!";
}
?>MFG SeeSharpNewBee
-
Wenn Du die Cookies login[user] und login[pass] setzt, dann solltest Du auch diese auslesen und nicht den Cookie login.
Die Rueckmeldung von setcookie() sagt uebrigens nichts darueber aus ob der Cookie nun gesetzt wurde oder nicht. Deine "or die()"-Konstrukte kannst Du Dir also absolut schenken.PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
Noch ein Sicherheitshinweis: Ein Passwort – egal in welcher Form –sollte nie in einem Cookie gespeichert werden. Prinzipiell sollten Cookies nicht anhand ihrer Daten mit einem Benutzer in Verbindung gebracht werden können. Daher sollte auch der Benutzername dort nicht gespeichert werden.
Markus Wulftange
-
27.03.06 19:38 #4
- Registriert seit
- Sep 2004
- Beiträge
- 200
Ok, das hab ich jetzt geändert in:
das hatt aber immer noch nichts gebracht, ich hab schon mehrere tuts gelesen und mit google gesucht, und überall komm ich nur zu der "konstruktion" die ich hier habe, damit meine ich nicht die "or die" sondern den rest, und es will einfach nicht funktionieren.PHP-Code:<?
if(setcookie('login[user]', $usr, time() + (3600*24*31)) && setcookie('login[pass]', $pass, time() + (3600*24*31)))
{
echo "Cookies wurden gestzt";
}
?>MFG SeeSharpNewBee
-
Vielleicht solltest du ein paar mehr Attribute des Cookies setzen (vgl. Parameter der setcookie()-Funktion).
Markus Wulftange
-
27.03.06 19:57 #6
- Registriert seit
- Sep 2004
- Beiträge
- 200
Wegen dem passwort, das wird md5 verschlüsselt, aber wenn ich so überlege, brauch ich eigentlich nur den benutzernamen! Trotzdem funktioniert das nicht, warum, waaaaaaaaa, ich werd wahnsinnig!
MFG SeeSharpNewBee
-
Falls dein Webserver ein Apache-Webserver ist, prüfe mal, welche Werte die apache_response_headers()-Funktion – also die tatsächlich gesetzten Header-Felder – zurückgibt. Darunter sollten sich auch die beiden Cookies befinden. Weitergehend solltest du prüfen, ob dein Browser die Cookies überhaupt akzeptiert und speichert.
Markus Wulftange
-
27.03.06 20:20 #8
- Registriert seit
- Sep 2004
- Beiträge
- 200
Diese funktin hat folgendes zurückgegeben:
damit kann ich aber nichts anfangen. Wegen, ob überhaupt erstellt werden bzw. akzeptiert werden, das hab ich schon überprüft, sie werden exakt erstellt und werden auch akzeptiert.PHP-Code:Array ( [X-Powered-By] => PHP/5.1.1 ) Accept: */*
Accept-Language: de-at
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)
Host: localhost
Connection: Keep-Alive
Cookie: PHPSESSID=e41afb7155dc4649d7f2530b5c27d282
Ich teste das ganze mit xampp, wenn das hilft. DankeMFG SeeSharpNewBee
-
Probier mal Folgendes:
Das var_dump() ist dabei nur zu Testzwecken.PHP-Code:<?php
ini_set('display_errors', true);
error_reporting(E_ALL);
var_dump( setcookie('foo', 'bar', time()+3600*24*31, '/', '.'.$_SERVER['SERVER_NAME']) );
?>Markus Wulftange
-
Nur mal so nebenbei: MD5 ist ein Hash, keine Verschluesselung. Und wenn Du schon Passworte hashst schlage ich vor, dass Du besser SHA1 nutzt, da dieser einen laengeren Hash erzeugt und somit die Chance von Kollisionen geringer ist.
Weiterhin ist auch sowas wie
ueberfluessig, denn solange setcookie() ausgefuehrt werden kann gibt es true zurueck.PHP-Code:if(setcookie('login[user]', $usr, time() + (3600*24*31)))
Probier doch mal folgendes Script:
Zitat von php.net
PHP-Code:<?php
error_reporting(E_ALL);
if (isset($_GET['check']))
{
if (isset($_COOKIE['testcookie']))
{
setcookie('testcookie','test',time()-3600);
echo 'Cookie gesetzt';
}
else
{
echo 'Cookie nicht gesetzt';
}
}
else
{
setcookie('testcookie','test',time()+3600);
header('Location: cookietest.php?check=1');
}
?>PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
28.03.06 18:28 #11
- Registriert seit
- Sep 2004
- Beiträge
- 200
Hi,
danke für dein script, der cookie wird wie erwartet erstellt, nur lesen kann ich ihn nicht mehr.
Vielleicht liegts ja auch an meiner methode in auszulesen?
Danke!PHP-Code:echo $_COOKIE['testcookie'];
MFG SeeSharpNewBee
-
Hast du meinen Vorschlag zur Spezifizierung der Attribute schon ausprobiert?
Markus Wulftange
-
28.03.06 18:43 #13
- Registriert seit
- Sep 2004
- Beiträge
- 200
@Gumbo:
meinst du?
das hat "bool(true)" ausgegeben. Und die hilfestellung zu den attributen von cookies hab ich auch schon gelesen, hab jedoch alle (für mich relevanten?) angaben beim erstellen des/der cookies gemacht, glaube ich...PHP-Code:<?php
ini_set('display_errors', true);
error_reporting(E_ALL);
var_dump( setcookie('foo', 'bar', time()+3600*24*31, '/', '.'.$_SERVER['SERVER_NAME']) );
?>
MFG SeeSharpNewBee
-
02.04.06 18:11 #14
- Registriert seit
- Sep 2004
- Beiträge
- 200
Ich komm bei dem problem einfach nicht weiter, ich hab mittlerweile auch schon alles ausprobiert, aber nichts hat geholfen. Könnte sich bitte jemand meine scripts ansehen, ich hab sie an den post angehängt, danke!
Geändert von SeeSharpNewBee (02.04.06 um 18:16 Uhr)
MFG SeeSharpNewBee
-
Ich guck mir grad mal Deinen Code an und finde das hier:
Welchen Sinn hat das bitte? Diese Seite haettest Du doch ohne weiteres als reine HTML-Seite bauen koennen.Code php:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
<?php echo "<form action='vaild_user.php' target='mainframe' method='POST'><br><br><br><br><br><br> <fieldset align='center' id='login'> <table align='center'> <tr> <td><label for='benutzername'>Benutzername:</label></td> <td><input type='text' name='benutzername' size='40' /></td> </tr> <tr> <td><label for='passwort'>Passwort:</label></td> <td><input type='password' name='passwort' size='40' /></td> </tr> </table> <table align='center'> <tr> <td><input type='submit' value=' login '></td> <td></td> <td><input type='checkbox' name='stay_logged' value='1' />angemeldet bleiben?</td> </tr> </table> <table align='center' id='login'> <tr> <td>Passwort<a href='get_new_pw.php' target='mainframe'> vergessen</a>?</td> </tr> </table> </fieldset>"; ?>

Naja, ich schau mal weiter.
Uebrigens, halte Dich bitte an Gross- und Kleinschreibung.
So, mal ein paar Beobachtungen:- Dein Formular ruft eine nicht-existente Datei auf.
[htm]
<form action='valid_user.php' target='mainframe' method='POST'><br><br><br><br><br><br>
[/html] - Wenn ich einen Usernamen errate aber ein falsches Passwort eingebe wird mir der Hash des richtigen ausgegeben. Was zum Teufel soll das?
PHP-Code:echo "Bitte überprüfen Sie das eingegebene Passwort!\n<br><br><br>";
echo "Übergebenes Passwort: ".$pass."<br><br><br>";
echo "Datenbank Passwort: ".$g_pass;
- Du schreibst als Wert des Cookies den String $usr. Nach der Anmeldung wird man dementsprechend mit Hallo $usr! gegruesst.
PHP-Code:setcookie('login','$usr',time() + (3600*24*31));
PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
- Dein Formular ruft eine nicht-existente Datei auf.
Ähnliche Themen
-
Von Festplatte kann nicht mehr gelesen werden
Von Iherp im Forum Microsoft WindowsAntworten: 0Letzter Beitrag: 21.03.10, 15:18 -
PHP-Dateien werden nicht gelesen ! ! !
Von Grunge im Forum PHPAntworten: 6Letzter Beitrag: 30.06.08, 14:18 -
schriften können nicht gelesen werden
Von darKuser im Forum PhotoshopAntworten: 2Letzter Beitrag: 21.05.07, 11:38 -
IP-Konfiguration konnte nicht gelesen werden.
Von server im Forum Microsoft WindowsAntworten: 2Letzter Beitrag: 27.08.06, 12:39 -
Binärformat kann nicht gelesen werden
Von grischan im Forum Visual Basic 6.0Antworten: 3Letzter Beitrag: 04.11.05, 13:39





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren