Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Session-ID (SID) an die URL anhängen
 
Tobias Gampe
Jr. Member
 
Avatar
Total Posts:  17
Joined:  2008-09-20
 

Hallo !

Wie ich erfahren musste, ist Magento ohne Cookies nicht funktionsfähig (z.b. Warenkorb geht nicht).  cool mad  Wie bringe ich Magento dazu, daß an die URL in diesem Falle die Session-ID übergeben wird?

Ich habe schon folgendes in die index.php eingetragen:

ini_set('session.use_trans_sid'1);

Nach Aufruf von

phpinfo();
wurde der Wert auch gesetzt, aber Magento setzt keine Session-ID an die URL.  hmmm

Hat jemand dieses Problem bereits gelöst ?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Tobias Gampe
Jr. Member
 
Avatar
Total Posts:  17
Joined:  2008-09-20
 

Ich habe jetzt die Klasse gefunden, die für die URL-Erstellung verantwortlich ist. Nämlich: Class Mage_Core_Model_Url

Die Beschreibung der Klasse findet man hier:
http://docs.magentocommerce.com/Mage_Core/Mage_Core_Model_Url.html

Im Skript url.php (Pfad: app/code/core/Mage/Core/Model) wird die Klasse definiert. Dort gibt es auch folgende Funktion:

/**
     * If the host was switched but session cookie won't recognize it - add session id to query
     *
     * @return unknown
     */
    public function checkCookieDomains()
    
{
        $hostArr 
explode(':'$this->getRequest()->getServer('HTTP_HOST'));
        
        if (
$hostArr[0]!==$this->getHost()) {
            $session 
Mage::getSingleton('core/session');
            if (!
$session->isValidForHost($this->getHost())) {
                
if (!self::$_encryptedSessionId{
                    $helper 
Mage::helper('core');
                    if (!
$helper{
                        
return $this;
                    
}
                    self
::$_encryptedSessionId $helper->encrypt($session->getSessionId());
                
}
                $this
->setQueryParam(
                    
Mage_Core_Model_Session_Abstract::SESSION_ID_QUERY_PARAM,
                    
self::$_encryptedSessionId
                
);
            
}
        }
        
return $this;
    
}

Diese Funktion macht eigentlich genau das, was ich will, sie setzt die Session-ID an die URL. Leider aber nur, wenn die Domain gewechselt wird.  cool hmm

In der Web-Configuration-Wiki (http://www.magentocommerce.com/wiki/modules_reference/english/mage_adminhtml/system_config/edit/web) habe ich folgenden Satz gefunden:

Note: Magento requires the user’s browser to accept its cookies.

Heißt ja nichts anderes, als das Magento nur mit Cookies lauffähig ist. Ich finde, ein Online-Shop muss auch ohne Cookie funktionieren.

Wie seht Ihr das question

 
Magento Community Magento Community
Magento Community
Magento Community
 
Senekha
Member
 
Total Posts:  34
Joined:  2008-12-02
 

Meinen die jetzt wirklich Cookies oder nur Sessions?
Manchmal werden Session und Cookies schon mal verwechselt, weil sie doch einige Gemeinsamkeiten haben.

Cookies fände ich jetzt auch etwas übertrieben, aber Sessions sind für einen sicheren Betrieb fast unverzichtbar.

Aber die Session per URL zu übergeben ist extrem riskant.
Jeder kann die SESSION_ID aus der URL auslesen und was man damit machen kann, kannst du ja wohl selber erraten.
Da kannst du auch gleich den Benutzernamen und das Passwort in der URL mitschicken.

Nicht umsonst ist ‘session.use_trans_sid’ in PHP4/5-Standardmäßig ausgeschaltet und wird in PHP6 garnicht mehr enthalten sein.
Und in jedem PHP-Anfängertutorial wird von dieser Form der Sessionübergabe dringenst abgeraten.

Jetzt meine Frage. Sind auf deinem Server die Sessions deaktiviert oder wo liegt das Problem bei den Sessions?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Tobias Gampe
Jr. Member
 
Avatar
Total Posts:  17
Joined:  2008-09-20
 

Da sind schon die Cookies gemeint, in der wird die Session-ID gespeichert.

Zu Deiner Frage: Mit meinem Server hat das wenig zu tun, die Sessions werden vom PHP verwaltet. In der INI kann man angeben, ob eine Session-ID automatisch angehängt wird, wenn keine Cookies gesetzt werden können. Das scheint bei mir nicht zu funktionieren, könnte an Magento liegen oder mein Provider erlaubt das nicht.

Das ist auch nur der zweitbeste Weg, am besten ist es, wenn das der Shop selber regelt (also Magento). In der Link-Funktion braucht das Skipt nur zu schauen, sind Cookies erlaubt um dann die Session-ID anzuhängen oder nicht.

Das JEDER die Session-ID auslesen kann, stimmt so nicht. Meist geschieht das, wenn auf eine externe Webseite verlinkt wird und diese dann über den REF-Link die Session auslesen kann. Dies kann man aber über eine Zwischenseite umgehen. Oder der Benutzer gibt einen Link mit Session-ID weiter oder postet ihn in einem Forum, die Gefahr kann man aber mit der zeitlichen Begrenzung der Sitzung (z.b. 1 Stunde) eindämmen. Die Weitergabe der Session-ID ist ja erstmal nicht gefährlich (z.B. wenn man nur die Warenkorb-Funktion benutzt), erst wenn der Kunde sich einloggt und Daten abspeichert kann man die Session-ID missbrauchen.

Die Frage ist ja, wie gehe ich mit einem Kunden um, der keine Cookie erlaubt.
Bisher ist das so, das Magento nicht funktioniert, es erscheint nicht mal eine Meldung. Das selbe bei abgeschaltetem Java-Script.  Nach dem Motto: ”Selber Schuld, daß du keine Cookies oder Java-Script erlaubst, wirst schon merken, was du davon hast”. Die meisten Kunden werden wohl auf Nimmerwiedersehen verschwinden.

Wie ich jetzt in einer Zeitschrift gelesen habe, soll der neue Explorer 8 verstärkt Cookies abwehren. Der Kunde weiß dann nicht einmal, daß die Cookies deaktiviert sind und somit der Shop nicht funktioniert.

Ich finde, ein Shop sollte auch ohne Cookies funktionieren.
Erst recht, wenn der Kunde zum Schutz der Privatsphäre die Cookies deaktiviert hat !

Wie siehst Du das?

 
Magento Community Magento Community
Magento Community
Magento Community
 
timste
Guru
 
Total Posts:  645
Joined:  2007-12-26
Leipzig
 

@tobias

warum fragst du nicht bei deinem hoster nach warum die änderungen in der php.ini nicht übernommen werden?

sicherlich ist es sträflich den kunden nicht zu informieren das er cookie und javascript braucht

aus meiner sicht haben aber 100 % aller user javascript an, also fällt das schon mal raus

und die geschichte mit den cookies , meine meinung dazu:

99,5% aller User die im Netz unterwegs sind haben Cookies angeschalten weil Sie gar nicht wissen wie wo und was Sie deaktivieren müssen. Ich habe den Überblick über 2 große Shops die auch nur mit Cookies funktionieren. Wir hatten noch nicht einen Kunden der sich gemeldet hat das er unbedingt was kaufen möchte dies aber nicht kann weil der Shop nicht geht!

Datenschutz hin oder her, ohne Cookies würde das Netz grau sein.

Wie willst Du es denn anstellen das Dein Shop ohne Cookies funktioniert, als Beispiel Du legst was in den Warenkorb, schliesst den Browser und gehst wieder auf die Seite. Da nützt dir Deine angehangene SessionID gar nix, zumal die unter gewissen Umständen auch noch Duplicated Content in Bezug auf Google liefern! Da wirst Du dann mal ganz schnell nach hinten verlagert im Index.

Sollte nur eine Anregung sein grin

Grüße

 
Magento Community Magento Community
Magento Community
Magento Community
 
Tobias Gampe
Jr. Member
 
Avatar
Total Posts:  17
Joined:  2008-09-20
 
timste - 02 January 2009 02:13 AM

@tobias

warum fragst du nicht bei deinem hoster nach warum die änderungen in der php.ini nicht übernommen werden?

Der eMail-Support meines Providers ist nicht gerade der beste ! cool smirk Ich werde wohl den URL-Core von Magento anpassen und im Ordner local abspeichern.

aus meiner sicht haben aber 100 % aller user javascript an, also fällt das schon mal raus

Ob das weiterhin so bleiben wird? Ich verwende zum Beispiel das Firefox-Addon NoScript, da sind ersmal alle Scripte nicht erlaubt. Wer einmal schlechte Erfahrungen mit Webseiten gemacht hat, ist da bei jeder Seite erstmal mißtrauisch.

und die geschichte mit den cookies , meine meinung dazu:

99,5% aller User die im Netz unterwegs sind haben Cookies angeschalten weil Sie gar nicht wissen wie wo und was Sie deaktivieren müssen.

Hast Du sicherlich Recht. Aber andersherum, wenn der Browser standartmäßig Cookies nicht akzeptiert, weiß der Kunde dann nicht wo er sie aktivieren kann.

Ich habe den Überblick über 2 große Shops die auch nur mit Cookies funktionieren. Wir hatten noch nicht einen Kunden der sich gemeldet hat das er unbedingt was kaufen möchte dies aber nicht kann weil der Shop nicht geht!

Verausgesetzt, jeder Kunde, der mit dem Shop Probleme hat, meldet sich bei Dir. Die strafen Dich dann eher mit Missachtung. smile

Datenschutz hin oder her, ohne Cookies würde das Netz grau sein.

Deswegen, sollte man aber den Wunsch des Kunden nach Datenschutz nicht missachten. Ich sehe das eher als Chance, als Shopbetreiber kann man sich mit einem “erlaubten deaktivieren der Cookies” von der Masse abheben.

Wie willst Du es denn anstellen das Dein Shop ohne Cookies funktioniert, als Beispiel Du legst was in den Warenkorb, schliesst den Browser und gehst wieder auf die Seite. Da nützt dir Deine angehangene SessionID gar nix,

Das kann der Kunde dann aber nachvollziehen! wink Wenn er eingeloggt war, ist der Warenkorb nach erneuten einloggen wieder vorhanden.

zumal die unter gewissen Umständen auch noch Duplicated Content in Bezug auf Google liefern! Da wirst Du dann mal ganz schnell nach hinten verlagert im Index.

Das kann ich nicht bestätigen. Ich betreibe seit 6 Jahren einen Shop wo die Session-ID immer übergeben wird und bin im Google-Index auf den dritten Platz. Kunden hatten vorher Probleme die Bestellung abzuschließen bzw. wurden dauernt ausgeloggt. Ich kann aber nicht sagen, ob das am Shop-System lag oder ob der Kunde keine Cookie akzepiert hatte.

Sollte nur eine Anregung sein grin

Klaro, ist auch nur meine Meinung cool smile

Gruß Tobias

 
Magento Community Magento Community
Magento Community
Magento Community
 
datensurfer
Sr. Member
 
Total Posts:  103
Joined:  2009-07-15
 

Hast du das Problem gelöst?

Ich habe aktuell das Problem, dass unter Windows Vista und xampp Magento & Cookies nicht funktioniert (allerdings erst seit Magento v).
Siehe auch:
http://www.magentocommerce.com/boards/viewthread/58271/

Deshalb würde ich auch gerne ein Warenkorb ohne Cookies, um lokal weiter arbeiten (template erstellen, testing & develop) zu können. :-(

 
Magento Community Magento Community
Magento Community
Magento Community
 
Tobias Gampe
Jr. Member
 
Avatar
Total Posts:  17
Joined:  2008-09-20
 

@datensurfer

Nein, das Problem habe ich nicht gelöst. War mir einfach zuviel Aufwand, immerhin erscheint jetzt ja in Meganto eine Warnung wenn JavaScript oder Cookies deaktiviert sind.

Zu Deinem Problem kann ich leider nichts sagen, ich habe Magento nicht unter Windows laufen.

Warum richtest Du zum Testen nicht eine zweite Magento-Installation auf Deinem Server ein?

 
Magento Community Magento Community
Magento Community
Magento Community
 
datensurfer
Sr. Member
 
Total Posts:  103
Joined:  2009-07-15
 
Tobias Gampe - 15 October 2009 03:03 AM

@datensurfer

Nein, das Problem habe ich nicht gelöst. War mir einfach zuviel Aufwand, immerhin erscheint jetzt ja in Meganto eine Warnung wenn JavaScript oder Cookies deaktiviert sind.

ok

Tobias Gampe - 15 October 2009 03:03 AM

Warum richtest Du zum Testen nicht eine zweite Magento-Installation auf Deinem Server ein?

Habe ich ja, nur zum Entwickeln benötige ich eine Version unter Windows da ich nur unter Windows entwickel.
Zum testen kopiere ich die Dateien ggf. auf das Linux-System, allerdings ist eine lokale Version zum entwickeln arg von Vorteil!

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top