Opt-Out-Button-Action zielt auf "falsche" URL


#1

Hi,

ich habe Piwik 1.2.1 neu installiert und die Installation gemäß eines häufiger gelesenen Tips abgesichert: Der Zugang auf die Admin-Oberfläche index.php ist nur aus dem internen Netz möglich. Zugang auf piwik.php und piwik.js für alle möglich.

Leider habe ich mich dabei selber ausgetrickst. Die URL für den Opt-Out-Button geht nämlich an die index.php und nicht an die piwik.php:

Da an die index.php von aussen keiner dran kommt, kann auch keiner ein Piwik-opt-out machen. Es müssten doch andere auch vor dem Problem gestanden haben. Wie habt Ihr das gelöst?

Kann man die Opt-Out-URL nicht auf piwik.php ändern?

Grüße, Rikky


#2

Kommt drauf an, wie du die Admin-Oberfläche abgesichert hast. Per htaccess? In diesem Fall kann man zwar den Zugriff auf die piwik.js bzw. piwik.php für alle erlauben, aber damit sperrst du dann den Opt-Out sowie die API aus.

Ich schütze meine Piwik Installationen immer per htaccess, so dass zwar piwik.js und piwik.php öffentlich sind, die Admin-Oberfläche und die API jedoch nur von meiner IP und der IP des Kunden aufgerufen werden kann.

Den Opt-Out von Piwik nutze ich nicht, da ich mir da etwas eigenes geschrieben habe. Möchte der Nutzer nicht erfasst werden, so setze ich ihm ein Cookie und die Website liefert den Tracking-Code dann auch garnicht erst aus, wenn der Cookie gesetzt wird. Da einige Websites ja auch mehrere Tracking-Codes nutzen, schließe ich so auch gleich alles aus.


#3

Ich sichere über die httpd.conf vom Apache-Server:

<Files ~ “^piwik.(js|php)|robots.txt$”>
Allow from all
Satisfy any

Mal sehen, ob ich das mit mod_rewrite auf index.php und !(module=CoreAdminHome&action=optOut) ausdehnen kann…


#4

Falls du ne Lösung hast, würde mich die auch interessieren. Mein Wissen im Bezug auf die mod_rewrite ist dann doch eher: “Grundkenntnisse” :slight_smile:


#5

Mach ich. Schöner wäre natürlich, wenn man die opt-out-Funktion aus der index.php in die piwik.php oder in eine eigene php-Datei verschieben würde…


#6

Wie kann ich den Opt-Out Code in eine separate Datei auslagern?

301 Moved Permanently hat bei mir nicht funktioniert

Irgendwie muss es ja gehen, Beispiele:
http://www.sattler-ag.com/sattler-web/de/84.htm
http://tracker.bihk.de/piwik/cookie.html
http://oraweb.orestes-sol.com/piwik/ignore_de.html

setcookie(“piwik_ignore”, “ignore”, time()+3652460*60);
zum Anschalten des Ignorierens

und setcookie(“piwik_ignore”, “delete”, time()-3600);
zum Abschalten

reicht glaub nicht ?!


#7

push
Für Hinweise wäre ich auch dabnkbar


#8

Hallo zusammen,

dieses Thema wurde von uns hier (301 Moved Permanently) bereits ausgiebig diskutiert. Leider existiert diesbezüglich (meines Wissens) noch keine Lösung. Aus meiner Sicht wäre es denkbar eine Art Bypass zu coden, am besten innerhalb des OptimizeOptOut-Plugins. Der Opt-Out müsste über eine andere Datei als die index.php abgerufen werden können - sonst funzt es nicht (also .htpasswd-Schutz und OptOut-Funktionalität gleichzeitig).

Gruß, John