Hiho,
bin gerade dabei unseren Shop umzukrempeln und benutze dazu unter anderem FirePHP als Debugger.
Jetzt habe ich folgendes Problem.
FirePHP kann man ja auf aktiv und auf inaktiv stellen. Der Shop aktiviert FirePHP nur wenn der User ne Bestimme IP hat (Die unserer Firma). Soweit so gut.
Wir hatten jetzt aber öfters das Phänomen, dass manche Entwickler/Tester sporadisch auf die Login gekickt werden, und keiner wusste warum.
Ich habe jetzt jetzt rausgefunden es liegt an der zeile in der application_top.php
// verify the browser user agent if the feature is enabledif (SESSION_CHECK_USER_AGENT
== 'True'){ $http_user_agent = strtolower($_SERVER['HTTP_USER_AGENT']); $http_user_agent2 = strtolower(getenv("HTTP_USER_AGENT")); $http_user_agent = ($http_user_agent == $http_user_agent2) ?
$http_user_agent : $http_user_agent.';'.$http_user_agent2; if (!isset ($_SESSION['SESSION_USER_AGENT'])) { $_SESSION['SESSION_USER_AGENT'] = $http_user_agent; } if ($_SESSION['SESSION_USER_AGENT'] != $http_user_agent) { session_destroy(); xtc_redirect
(xtc_href_link
(FILENAME_LOGIN
)); }} Das Problem dabei ist jetzt nicht, dass es nicht funktioniert oder die Zeilen nicht richtig sind, es liegt nur daran, dass FirePHP (oder eventuell auch andere Firefox Plugins, k.A.) den User Agent ändern, sobald er etwas zum "loggen" gefunden hat.
Normaler User-Agent, bei keiner FirePHP Meldung
'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20100101 Firefox/11.0.0'
User-Agent bei aktivem FirePHP
'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20100101 Firefox/11.0.0 FirePHP/0.7.0'
Was nun zur Folge hat dass man beim navigieren auf der Seite auf die Login gekickt wird (Passiert dann z.B. wenn man in der checkout auf zB sofortüberweisung geleitet wird, dadurch der FirePHP sich ausschaltet und den User Agent zurücksetzt und man nach erfolgreichem Zahlen wirder zurück kommt, der user Agent nicht mehr gleich ist und man zur Login gekickt wird, ohne die checkout_success zu sehen.
Meine Frage ist jetzt:
Was hat die SESSION_CHECK_USER_AGENT überhaupt für einen Nutzen, bzw kann ich sie gutem Gewissens ausschalten? Weil dadurch ist das Problem ja weitesgehend behoben, oder nicht?
Linkback: https://www.modified-shop.org/forum/index.php?topic=19089.0