Flyspray

Christian Kruse,

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 ~ $ 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

ckruse@sunshine ~ $

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.