Schlagwort-Archiv: Sicherheit

PHP-Bug im Vergleichsoperator == ?

Heute habe ich, zusammen mit einem Kollegen, feststellen müssen dass der Vergleichsoperator scheinbar ein Typecasting bei Vergleichen zwischen (etwaigen) Integerwerten und Strings vornimmt – und zwar immer zu Integer-Werten. Das hat zur Folge, dass Vergleiche mit „0“ mit einem String „abc“ zu einer wahren Aussage führen. Bei uns hat das eine „kleine“ Sicherheitslücke gerissen, die alles andere als schön war. Das ganze lässt sich unter Debian mit der PHP-Version 5.2.6-0.1~lenny1 und folgendem Code nachvollziehen:

$a = 0;
$b = "abdbbsb";
 
if($a == $b) echo 1;
else echo 0;
# Ausgabe 1

if((string)$a == $b) echo 1;
else echo 0;
# Ausgabe 0

if($a === $b) echo 1;
else echo 0;
# Ausgabe 0

PHP-Entwicklung – Neuerungen in PHP, Zend-Framework, PHP-Sicherheit

(Fortsetzung von: PHP-Entwicklung – Umstieg von 4 auf 5 sowie 5 auf 6)

Auf Golem wurde bereits am Freitag der zweite Teil des Interviews mit veröffentlicht, darin kamen unter anderem die Neuerungen in PHP6 noch einmal mehr zur Sprache.Ich werde daher heute eine „Liste“ der Neuerungen mit einer kurzen Erklärung dazu hier veröffentlichen (angelehnt an den genannten (und verlinkten) Artikel auf golem.de). Im Weiteren werde ich noch auf die Themen Sicherheit in PHP und das Zend-Framework eingehen. PHP-Entwicklung – Neuerungen in PHP, Zend-Framework, PHP-Sicherheit weiterlesen