php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.01.2008, 21:48  
Benutzer
 
Registriert seit: 02.06.2006
Beiträge: 53
TailerD
Standard https header und Cookie

Hallo, also ich weiss nicht mehr weiter. Ich überleg schon seit andauernd lässt mir keine Ruhe. Beim Googeln wird man mit der Fehlermeldung tot geschlagen, aber ich find mein Problem trotzdem nicht.

ich bin bei Hosteurope und will eine sichere Verbindung erreichen, die solange existiert wir der /die entsprechende(n) Parameter in der Url vorhanden ist/sind. Dann wieder normal.

Code:
function Http(){
parse_url($_SERVER[REQUEST_URI]);
#if ($_COOKIE[domain]=="secure") {
if (!$_SERVER['HTTPS']){
 #zeige_variable($_COOKIE);
 
	header("Location: https://ssl.webpack.de/domain.com".$_SERVER[REQUEST_URI]."");
    exit;
}else{ 
    echo "Header bereits gesendet in $filename in Zeile $linenum\n" .
         "Redirect nicht moeglich, klicken Sie daher statt dessen <a " .
         "href=\"http://www.domain.com\">diesen Link</a> an\n";
	    exit;
}
Es ist leider so das ich immer einen Seitenladefehler bekomme.
Fehler: Umleitungsfehler
Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.
* Dieses Problem kann manchmal auftreten, wenn Cookies deaktiviert oder abgelehnt werden.


Der Cookie ist aber vorhanden bzw wurde mit dem Header gesendet.

Im Firefox über die Option "jedes mal nachfragen" hab ich nun rausgefunden das der Cokkies wie in einer Endlosschleife gesetzt wird.

Ja ok. Der Header wird nur an einer Stelle aufgerufen, keine Schleife... Wie kann ich denn das machen das der Header nur einmal gesendet wird.

hat jemand ne Idee?

Meine Schrittfolge ist.
- dann Webshop.... Artikel ansehen ....in den Warenkorb..
- an der Stelle wenn Login geklickt, also if($_GET[..]=="" && ...) zur sicheren Verbindung weiterleiten, also Aufruf der Funktion Http() siehe oben, zwecks Eingabe Kundendaten... Bestellabwicklung.. Cookie wurde gesetzt
- https header senden, vor der Ausgabe an den Client
- und hier kommt dann die Fehlermeldung wie oben beschrieben.


Oder ne Schrittfolge was ich anders machen sollte ? Ich wäre sehr dankbar.
TailerD ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 25.01.2008, 02:18  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo TailerD,

auch wenn dich meine Antwort nicht begeistern wird: aus Sicherheitsgründen solltest du ALLE Webshop-Aktivitäten via https ausliefern, solange der Kunde eingeloggt ist. Hier kann man ganz einfach im action-Attribut des Formulars eine https-Seite definieren und der Benutzer bleibt dann entsprechen auf einer HTTPS-Verbindung. Hier Unterscheidungen zwischen den genannten Formen zu treffen ist IMHO

1. nonsense
2. zu fehleranfällig
3. aus Ressoucengründen nicht notwendig (Stichwort: SSL-Termination wg. hohem Ressourcenverbrauch)
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 25.01.2008, 03:29  
Benutzer
 
Registriert seit: 02.06.2006
Beiträge: 53
TailerD
Standard

Zitat:
Zitat von dr.e.
Hallo TailerD,

auch wenn dich meine Antwort nicht begeistern wird: aus Sicherheitsgründen solltest du ALLE Webshop-Aktivitäten via https ausliefern, solange der Kunde eingeloggt ist. Hier kann man ganz einfach im action-Attribut des Formulars eine https-Seite definieren und der Benutzer bleibt dann entsprechen auf einer HTTPS-Verbindung. Hier Unterscheidungen zwischen den genannten Formen zu treffen ist IMHO

1. nonsense
2. zu fehleranfällig
3. aus Ressoucengründen nicht notwendig (Stichwort: SSL-Termination wg. hohem Ressourcenverbrauch)
Ja das ist doch ok. Danke für deinen Vorschlag dr.e. Ich muss dir leider fast in allen drei Punkten zustimmen, weil die Google Recherse immer in diese Richtung ging.
Also fehleranfällig bezüglich Browser und langsamer bezüglich Ressourcenverbrauch, Verbindungsdauer..

Ich hab noch nicht soviel Erfahrung bezüglich https header. Ich hab mir auch die https Liste ausgeben lassen. Aber da sind nur 7 drin in dem Array, nicht unendlich. Deswegen versteh ich die Fehlermeldung nicht. Und denke mir wie machen das die anderen?
Also ich weis über haupt nicht wo ich da ansetzen soll. www.php.net hab ich schon nachgesehen, vielleicht aber auch an der falschen Stelle.

du schreibst : ALLE Webshop-Aktivitäten via https

Das hatte ich auch überlegt, und umgesetzt nur, um mich deutlicher auszudrücken, ich wollte alle Links auf der Eingabe im Login bis vor der logout Meldung(Session zerstört) ...auf der https Verbindung laufen haben.

Das ging auch, aber der Wechsel zurück auf http dann nicht mehr. Irgendwie liefen aufeinmal alle Links komplett auf der Weiterleitung also auch die Artikelauswahl. Also alle action-Attribute. Was ich noch weniger verstehe, weil ich doch nur eine Umleitung... und naja siehe oben.

Die action-Attribute sind zugewiesen Inhalte aus einem Array bei mir. Die werden dynamisch zu gewiesen, wenn die Konfigurationdatei geladen wird... Vielleicht sollte ich da ansetzen?

Was sagt mit denn der Fehler von oben. Kennt jemand eine gutes Buch, Tutorial , Link?
TailerD ist offline  
Alt 25.01.2008, 23:24  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo TailerD,

so wie ich das sehe, solltest du sämtliche "Umleitungen" aus deiner Software entfernen und in den action-Attributen einfach Links ohne Protokoll- und Domain-Angaben einsetzen, dann übernimmt das Browser und Server für dich und deine Benutzer bleiben immer auf der HTTPS-Seite. Ein Wechsel zurück zu http macht an sich nur Sinn, wenn ein Benutzer nicht mehr eingeloggt ist. Hier kannst du ja nach dem Logout-Vorgang per header() auf eine HTTP-Seite weiterleiten. Ich denke einfach, dass deine "Umleitungen" deine Software intransparent machen und Mechanismen, die üblicherweise funktionieren ausser kraft setzen.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 26.01.2008, 13:51  
Benutzer
 
Registriert seit: 02.06.2006
Beiträge: 53
TailerD
Standard

Ja, du hast recht. Ich hab jetzt die infragekommenden header entfernt, stattdessen das action Attribut seinem Zweck entsprechnend benutzt. Die Seite läuft jetzt nur noch über https wenn die Status variable in der Session des Logins true ist.
Vielen Dank für deine Hilfe und den Denk Anstoss. Bin sehr froh wieder ein Stück weiter.
TailerD ist offline  
Alt 26.01.2008, 19:54  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Gerne.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. 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
header() ??? TeazY PHP Tipps 2008 9 11.01.2008 15:40
Cookie zusätzlich für eine andere Domain setzen DonTermi PHP Tipps 2007 5 21.05.2007 13:52
Cookie löschen funktioniert nicht GSJLink PHP Tipps 2007 2 24.01.2007 14:55
problem bei sessions in komb. m. cookies. header umgehen? Promaetheus PHP Tipps 2006 10 02.05.2006 15:52
[Erledigt] Autologin mit Cookie, wie? Beste Lösung? PHP-Fortgeschrittene 17 16.02.2006 14:03
Cookie setzten funktioniert nicht!? nicobischof PHP Tipps 2006 13 06.01.2006 13:38
Header already sent Chrisber PHP Tipps 2007 10 08.11.2005 20:33
Cookie nicht im header setzen PHP Tipps 2005-2 23 09.09.2005 16:20
Cookie DER_Brain PHP Tipps 2005-2 4 27.06.2005 17:49
Cookie löschen tomtaz PHP Tipps 2005-2 3 06.06.2005 20:50
Problem: Cannot modify header information Alpha Centauri PHP Tipps 2005 11 25.04.2005 13:05
bitte um hilfe wegen cookie() und header() d4rki PHP Tipps 2005 2 21.04.2005 19:45
umschalten des http / https protokolls mit php ohne redirect PHP Tipps 2005 2 12.01.2005 15:29
Warning: Cannot modify header... einbinden nicht möglich? PHP Tipps 2004 2 07.08.2004 15:06
Header Probleme! Calexico PHP Tipps 2004 7 30.06.2004 23:05

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
umleitungsfehler ssl, cookie https, https cookie, fehler: umleitungsfehler php, https php header, umleitungsfehler cookies, ssl umleitungsfehler, cookie header, php iis die aufgerufene website leitet die anfrage so um, dass sie nie beendet werden kann., https header php, php session umleitungsfehler, ssl termination, umleitungsfehler cookies php, header cookie deaktivieren, cookie header php, cookie im header, location umleitungsfehler, link von einer https seite zur, php host header choose -iis, header ssl https cookie

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:14 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.