Der PHP Gangsta veranstaltet zur Zeit eine Aktion, in der er die kleinste Blog Software der Welt sucht. Da das natürlich ein Ansporn ist, habe ich mich mal daran gemacht und meine eigenen Versionen geschrieben.
Alle Versionen gehen davon aus, das die Datei “f” existiert, ansonsten bekommt man eine Warnung. Das Passwort wird in allen Versionen per GET übermittelt.
<?extract($_REQUEST);$c='<p>';$n='><input name';if(@$p==@a){echo"<form method=post$n=t$n=z$n type=submit>";if(@$t)fwrite(@fopen(f,a),$c.$t.$c.$z.$c.@date(c));}include(f);
<?extract($_REQUEST);$c='<p>';$n='><input name';if($p==a){echo"<form method=post$n=t$n=z$n type=submit>";if($t)fwrite(fopen(f,a),$c.$t.$c.$z.$c.date(c));}include(f);
<?extract($_GET);$c='<p>';$n='><input name';if(@$p==@a){echo"<form$n=t$n=z$n=p value=a$n type=submit>";if(@$t)fwrite(@fopen(f,a),$c.$t.$c.$z.$c.@date(c));}include(f);
<?extract($_GET);$c='<p>';$n='><input name';if($p==a){echo"<form$n=t$n=z$n=p value=a$n type=submit>";if($t)fwrite(fopen(f,a),$c.$t.$c.$z.$c.date(c));}include(f);
<?$c='<p>';$n='><input name';if($p==a){echo"<form$n=t$n=z$n=p value=a$n type=submit>";if($t)fwrite(fopen(f,a),$c.$t.$c.$z.$c.date(c));}include(f);
Meine kleinste Version ist aktuell 162 Byte (mit register_globals, 147 Byte). Mal sehen ob ich die Entwürfe in den nächsten Tagen noch etwas kleiner bekomme.
Getestet wurde mit einem Zend Server unter Windows 7. Als Browser dienten Firefox 3.5 und Google Chrome 4.