Nach langer Zeit kommt noch ein Bugfix für xt:Commerce, der als wichtig eingestuft wird. Wir empfehlen allen Lesern, diesen einzubauen. Auch Forks wie xtcModified, Gambio etc. sollten diesbezüglich angepasst werden. Die Umstellung bei xtcModified ist zwar aktuell nicht akut, da dort bereits eregi durch preg_match ersetzt wurde und preg_match nicht den Bug wie eregi aufweist. Dennoch ist das ablehnen von Mailadressen, die Nullbytes enthalten aus meiner Sicht angebracht. Defekte Daten sollte man nicht akzeptieren, da sie bei einem später entstehenden Bug dann vielleicht Schaden anrichten. Evergreen ist ebenfalls nicht direkt betroffen, da die Speicherung des neuen Passworts hier nicht mehr anhand der Emailadresse, sondern anhand der Kunden-ID erfolgt. Dennoch werde ich den Nullbyte-Stop integrieren.
Geändert hat sich folgendes:
passwort_double_opt.php
ca. Zeile 87
vorher:
xtc_db_query("update ".TABLE_CUSTOMERS." set customers_password = '".$crypted_password."' where customers_email_address = '".$check_customer['customers_email_address']."'");
nachher:
xtc_db_query("update ".TABLE_CUSTOMERS." set customers_password = '".$crypted_password."' where customers_email_address = '".xtc_db_input($check_customer['customers_email_address'])."'");
inc/xtc_validate_email.inc.php
ca. Zeile 49
vorher:
function xtc_validate_email($email) {
$valid_address = true;
nachher:
function xtc_validate_email($email) {
$valid_address = true;
// sql injection fix 16.02.2011
if (strpos($email,"\0")!==false) {return false;}
Interessant finde ich noch den Hinweis in der INFO.txt:
xt:Commerce Version 3.0.4 ist bereits end-of-Life und erfährt keinen Hersteller Support mehr.
Wir empfehlen den wechsel auf aktuellere Versionen (4.0.13), respektive auf die kostenlose xt:Commerce 4.0 Community Version (erscheint 1.4.2011)xt:Commerce GmbH – Austria
Aus meiner Sicht ein interessantes Timing im Hinblick auf die Ankündigung der “Community Edition” und der Veröffentlichung dieses Bugfixes.