php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.11.2008, 14:53  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

PHP-Code:
<?php
session_set_cookie_params
(30*86400);
session_start();
session_regenerate_id(); // sinnvoll beim Login

echo setcookie('xyz''abc'time()+30*86400) ?  'Cookie gesetzt' 'Fehler beim Setzen des Cookies';

print_r($_COOKIE);
?>
Bei setcookie() musst Du einen timestamp angeben, deshalb time()+30*86400.


David ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.11.2008, 15:06  
Neuer Benutzer
 
Registriert seit: 17.11.2008
Beiträge: 20
BigDaddyXD befindet sich auf einem aufstrebenden Ast
Standard

Muchas Gracias Manko und David!

Jetzt läuft die Sache. Ich fasse das Problem nochmal zusammen, für künftige Generationen:

Am Anfang hatte ich genau einen Fehler, nämlich "stille" PHP-Fehler, die den Header blockiert haben.
Als ersten Tipp bekam ich dann aber den Expires-Wert von setcookie() durch session_set_cookie_params (time()+60*60*24*30); zu ersetzen.
Als es danach imemrnoch nicht funktionierte fanden wir das Problem mit dem Header. Ich habe die Seite korrigiert, aber nun ging es ncihtmehr weil ich den Expires-Wert entfernt hatte

Effektiv hatte ich anfangs also nur das Problem mit den Fehlern im header. Hätte ich nur das korrigiert hätte es gleich geklappt...


Sollte also mal jemand anders ein Problem mit Cookies haben:

1.
PHP-Code:
error_reporting(E_ALL); 
ini_set('display_errors'1); 
Am Anfang des Scripts der Website einfügen und die PHP-Scripts debuggen bis kein Fehler mehr auftaucht.



2.
setcookie() MUSS einen Expires-Wert erhalten!
Beispiel:
PHP-Code:
setcookie("CookieName""CookieWert"time()+X); //Wobei X die Dauer des Cookies in Sekunden ist 
Danke nochmal allen Helfern!!!
BigDaddyXD ist offline  
Alt 19.11.2008, 15:09  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Dann den Thread bitte noch als [Erledigt] markieren. Danke!
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 19.11.2008, 15:09  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Und nach einem erfolgten Login sollte session_regenerate_id() verwendet werden, um ein session hijacking zu verhindern.

(Wenn mir der passende Artikel wieder einfällt, reiche ich den Link nach)
David ist offline  
Alt 19.11.2008, 15:24  
Neuer Benutzer
 
Registriert seit: 17.11.2008
Beiträge: 20
BigDaddyXD befindet sich auf einem aufstrebenden Ast
Standard

Ist drin, danke
BigDaddyXD ist offline  
Alt 19.11.2008, 15:32  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Also sehe ich das richtig, das die Lösung des Problems schon der Code in #4 ist??
cycap ist offline  
Alt 19.11.2008, 15:39  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

ähem..... ein bisschen ja und viel nein. Da habe ich es an der falschen Stelle verwendet/kopiert.
session_set_cookie_params(30*86400);
aber setcookie(,, time()+30*86400);

ach ja und noch etwas: das $httponly sollte bei setcookie() noch auf true gesetzt werden. Ich sehe keinen Grund, warum Javascript auf einen Session-bezogenen Cookie zugreifen können sollte.
David ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Cookies JeeZ PHP Tipps 2006 2 08.10.2006 17:59
Cookies des Referers einbinden nickie12 PHP Tipps 2006 4 16.07.2006 15:46
Login-System ohne Cookies dethlef14 PHP Tipps 2006 7 27.03.2006 22:22
Cookies und Sessions funktionieren mit IIS nicht richtig PHP Tipps 2006 8 16.01.2006 16:01
Verfolgende Cookies lessiv PHP Tipps 2006 12 08.01.2006 17:20
Cookies auslesen HSFighter PHP Tipps 2007 2 19.11.2005 14:56
Sitzungsvariablen, Abfrage-Zeichenketten, Cookies dethlef14 PHP Tipps 2005-2 2 16.08.2005 15:42
anzahl von cookies irgendwann bedenklich?lieber DB-Anfrage? Crypi PHP Tipps 2005-2 9 16.08.2005 12:55
sessions und cookies... PHP Tipps 2005-2 7 31.07.2005 21:17
cookies auslesen PHP Tipps 2005-2 1 09.06.2005 18:11
problem mit cookies... d4rki PHP Tipps 2005 1 20.04.2005 12:19
Cookies auslesen funktioniert nicht... PHP Tipps 2004-2 2 25.12.2004 14:00
cookies immer zulassen PHP Tipps 2004 11 16.07.2004 20:39
Prob beim Löschen von Cookies PHP Tipps 2004 4 07.06.2004 20:58
Probleme mit Session ohne Cookies PHP Tipps 2004 6 06.06.2004 15:55


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:18 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum