2016-08-02 6 views
1

Ich habe eine Situation, dass ein Apache-Webserver, der eine Site auf Joomla/php ausführt, sich selbst in eine Redirect-Schleife bringt.Server, der Redirect-Schleife wegen "schlechtem" Cookie-Wert eingibt

Wenn Sie http://www.example.com/ besuchen, gibt es eine 302 Umleitung zu http://www.example.com/ (ja, die gleiche URL).

Nach einigen Untersuchungen wir es verengten auf die Tatsache, dass es ein Cookie mit einem Wert ist, dass es nicht ...

der Cookie Inhalt ist nicht mag:

% 7B% 22distinct_id % 22% 3A% 20% 22vp37vv% 22% 2C% 22% 24initial_referrer% 22% 3A% 20% 22% 24direkt% 22% 2C% 22% 24initial_referring_domain% 22% 3A% 20% 22% 24direct% 22% 7D

Um Ihnen das Problem zu ersparen, das urlencodiert und dekodiert wird:

{ "distinct_id": "vp37vv", "$ initial_referrer": "$ direct", "$ initial_referring_domain": "$ direct"}

Meine Vermutung war, dass es irgendeine Art war von "Sicherheit" check ging weiter, dass es auf den Keks schaute, nicht mochte, was er dort sah und die Umleitung in fehlgeleiteten Versuchen tat, den schlechten Wert loszuwerden.

Ich bemerkte, dass, wenn ich diesen Cookie-Wert in der URL setzte, es eine ähnliche Umleitung machte. Das wird zu:

http://www.example.com/?c=%7B%22distinct_id%22%3A%20%22vp37vv%22%2C%22%24initial_referrer%22%3A%20%22%24direct%22%2C%22%24initial_referring_domain%22%3A%20%22%24direct%22%7D

führte es zu http://www.example.com/ Umleitung (dh es wurde erfolgreich von dem Wert befreit es nicht wie). Das Testen mit einem "sicheren" Querystring-Wert führte nicht zur Umleitung.

Also auf die Frage: Was könnte das verursachen und was kann ich tun, um es zu verhindern?

Das Ändern des Cookies in irgendeiner Weise ist keine Option, da es Teil der Software von Drittanbietern ist - ich muss den Server die Existenz dieses Cookies akzeptieren lassen.

Meine Vermutung ist, dass dies eine PHP-Sicherheitsfunktion ist, aber wenn das der Fall ist, habe ich Probleme, eine Dokumentation darüber zu finden.

+0

Was ist Ihre Joomla-Version? Welche Drittanbieter-Erweiterungen verwenden Sie? –

+0

Leider weiß ich nicht die Antwort auf eine dieser beiden Fragen aus dem Kopf.Die tatsächliche Situation ist etwas komplizierter - die Hauptseite wird von jemand anderem kontrolliert, für den ich verantwortlich bin, ist eine Subsite (subdomain.example.com), die den Cookie setzt, der die Probleme verursacht. :(Ich schätze, das macht die Sache umso schwieriger - ich hatte nur gehofft, dass es ein Standard-PHP-Feature irgendeiner Art war. :( – Chris

+0

Ich fand das auf einer Website, die ich mir angesehen habe. Wenn ich einen Cookie setze, der ein Zitat enthält (% 22) es kam in eine Redirect-Schleife. –

Antwort

1

Es gibt ein paar Dinge, die dieses Problem verursachen können:

  • Ein Joomla-Sicherheits-Plugin (überprüfen, um zu sehen, ob Sie auf dem Server installiert Nicht-Kern Joomla Sicherheit Plugins)
  • A ModSecurity Regel (oder eine andere Firewall-Regel) wird ausgelöst. Wenn dies der Fall ist, müssen Sie diese Regel auf die weiße Liste setzen (prüfen Sie, ob Sie eine ModSecurity-Regel auf die weiße Liste setzen können, siehe this post).

Ich vermute, letzteres.

Verwandte Themen