Den Pfad eines Cookies fälschen - über .htaccess / javascript / oder anders?

8

Hintergrund

Ich habe php / js-Software ( Piwik ), die ein Cookie setzt, um Besuche auf der Seite zu verfolgen.

Unsere Website (dh; nicht Piwik) ist so eingerichtet, dass alle URLs (außer Ressourcen) in die Datei /public/index.php zurückgeschrieben werden.

Auf diese Weise erhalten unsere Benutzer jeweils eine eindeutige URL, z. B.

Ссылка

Ссылка

... usw.

Damit ich jede dieser Nutzer-URLs in Piwik verfolgen kann, wurde vorgeschlagen Ich muss den Pfad im Cookie auf einen Pfad setzen, den Apache einem aktuellen Verzeichnis zuordnet.

Da wir für jeden unserer Benutzer keine Verzeichnisse haben, können wir das nicht tun.

Schließlich geht es weiter mit RewriteBase innerhalb des .htaccess, um Apache mitzuteilen Wir betrachten die URL des Benutzers als ein eigenes Verzeichnis.

Dies ist jedoch zu kurz, da es keine Möglichkeit gibt, RewriteBase zu verwenden, ohne die 'Basis' fest zu codieren.

Die Frage

Kann ich in meinem .htaccess so etwas tun? Die Antwort von Francois Deschenes sagt, ich kann das nicht tun.

%Vor%

Welche anderen Alternativen habe ich, um sicherzustellen, dass der "Pfad" des Cookies auf die URL des Benutzers und nicht nur auf "/" gesetzt ist?

Was ich gerade habe

Der .htaccess in / enthält;

%Vor%

Dann enthält der .htaccess in / public;

%Vor%

Beachten Sie, dass beide am Anfang andere Regeln für verschobene Pfade haben.

Danke für jede Hilfe!

Was ich versucht habe

Aufruf von .setCookiePath () für das JS Piwik-Objekt, wie in der Piwik Dokumentation . Beispiel: Für die URL Ссылка wird durch das Aufrufen von .setCookiePath ('/ user1') nicht automatisch der Pfad des Cookies festgelegt.

>

Hinzufügen eines abschließenden Schrägstrichs zur URL und anschließendes Aufrufen von .setCookiePath (). Beispiel: Die URL Ссылка , die dann .setCookiePath ('/ user1') aufruft, legt den Pfad des Cookies nicht fest.

Verwandte Fragen

Mit mod_rewrite kann ich eine RewriteBase angeben innerhalb eines RewriteCond? - Leider zeigt die Antwort nicht an, ob ich den aktuellen Pfad als Basis verwenden kann.

    
Jess Telford 28.06.2011, 02:22
quelle

1 Antwort

6

Das geht nicht, mit mod_rewrite . Apache und mod_rewrite haben nichts mit Cookies zu tun (zumindest was Piwik betrifft). Dies ist kein Apache-Problem, sondern wie Piwik den Cookie setzt. Wenn Sie den Piwik-JavaScript-Tracker verwenden, sehen Sie sich diesen speziellen Abschnitt der Dokumentation , genauer gesagt den Abschnitt "Wenn Sie eine oder mehrere Unterverzeichnisse oder Seiten in verschiedenen Piwik-Websites erfassen".

Sie möchten im Wesentlichen die Funktion setCookiePath verwenden und wo immer Sie das JavaScript einstellen, verwenden Sie PHP, um den Pfad einzugeben:

Javascript:

%Vor%

Hinzufügen eines nachgestellten Schrägstrichs in .htaccess

Fügen Sie dies zu Ihren anderen Regeln hinzu:

%Vor%     
Francois Deschenes 28.06.2011 04:11
quelle