Flyspray
Im Zuge der Umbauarbeiten bei WWWTech.de wurden auch die Flyspray-Inhalte (hier absichtlich nicht verlinkt) konvertiert nach Trac. Um den Umzug abzuschließen, habe ich dann einige Rewrite-Regeln erstellt, damit der Umzug für Nutzer möglichst transparent bleibt und Suchmaschinen-Links nicht auf einmal ins Leere gehen. Um diese Regeln zu testen, hab ich ein wenig mit cURL herumgespielt. Dabei heraus kam folgendes (wichtig noch: curl -I url zeigt einem die HTTP-Header an, die für diesen Request ausgeliefert werden):
ckruse@sunshine ~ $ckruse@sunshine ~ $ curl -I 'http://wwwtech.de/flyspray/'
HTTP/1.1 200 OK
Date: Fri, 06 Feb 2009 22:00:20 GMT
Server: Apache
X-Powered-By: PHP/5.2.8-pl2-gentoo
Expires: -1
Pragma: no-cache
Cache-Control: no-cache, must-revalidate, post-check=0, pre-check=0
Content-Style-Type: text/css
Set-Cookie: GetFirefox=06845ec23dc05585defe4935352ef29e; path=/; HttpOnly
Set-Cookie: GetFirefox=deleted; expires=Thu, 07-Feb-2008 22:00:20 GMT; path=/
Set-Cookie: UseLinux=2ec78337ec962624563902bacb235c95; path=/; HttpOnly
Set-Cookie: UseLinux=deleted; expires=Thu, 07-Feb-2008 22:00:20 GMT; path=/
Set-Cookie: NoMicrosoft=8b6c6ee2b2a6147a907052a24936a705; path=/; HttpOnly
Set-Cookie: NoMicrosoft=deleted; expires=Thu, 07-Feb-2008 22:00:20 GMT; path=/
Set-Cookie: ThinkB4Replying=9e389d26b57a3b3b2f1fe32b96be74e0; path=/; HttpOnly
Set-Cookie: ThinkB4Replying=deleted; expires=Thu, 07-Feb-2008 22:00:20 GMT; path=/
Set-Cookie: FreeSoftware=4ec4389029e1280490a8050a139b139d; path=/; HttpOnly
Set-Cookie: FreeSoftware=deleted; expires=Thu, 07-Feb-2008 22:00:20 GMT; path=/
Set-Cookie: ReadTheFAQ=44c4c0493b715a3abdd5f325328920ca; path=/; HttpOnly
Set-Cookie: ReadTheFAQ=deleted; expires=Thu, 07-Feb-2008 22:00:20 GMT; path=/
Set-Cookie: RTFM=e95c69683658eef4519c71cb574a1fe3; path=/; HttpOnly
Set-Cookie: RTFM=deleted; expires=Thu, 07-Feb-2008 22:00:20 GMT; path=/
Set-Cookie: VisitAU=95f55f196bc031b9f7f0987e553455f9; path=/; HttpOnly
Set-Cookie: VisitAU=deleted; expires=Thu, 07-Feb-2008 22:00:20 GMT; path=/
Set-Cookie: SubliminalAdvertising=2930b4ddce2de82aed6145e344cbd90f; path=/; HttpOnly
Set-Cookie: SubliminalAdvertising=deleted; expires=Thu, 07-Feb-2008 22:00:20 GMT; path=/
Set-Cookie: NoMicrosoft=8a9d9dbadd64136b0628e405efeb1eac; path=/; HttpOnly
Set-Cookie: flyspray_project=1; expires=Sun, 08-Mar-2009 22:00:21 GMT; path=/flyspray/
X-Pavatar: http://www.defunced.de/pavatar.png
Content-Type: text/html; charset=utf-8
Nach näherer Recherche ist mir dann folgende Passage im Code von includes/class.flyspray.php aufgefallen:
718 $names = array( 'GetFirefox',
719 'UseLinux',
720 'NoMicrosoft',
721 'ThinkB4Replying',
722 'FreeSoftware',
723 'ReadTheFAQ',
724 'RTFM',
725 'VisitAU',
726 'SubliminalAdvertising',
727 );
728
729 foreach ($names as $val)
730 {
731 session_name($val);
732 session_start();
733
734 if (isset($_SESSION['SESSNAME']))
735 {
736 $sessname = $_SESSION['SESSNAME'];
737 break;
738 }
739
740 $_SESSION = array();
741 session_destroy();
742 setcookie(session_name(), '', time()-60, '/');
743 }
Das Code-Stück macht im Wesentlichen folgendes: es geht durch die oben definierten Wörter (GetFirefox, UseLinux, etc, pp) und setzt für jedes dieser Wörter einen Cookie mit dem Wort als Cookie-Name und der Session-ID als Cookie-Wert. Glatt ein Fall für Daily WTF... Sinnlosigkeit kennt eben keine Grenzen.
Gut, dass ich von der Software weg komme, hehe.