Installationsanleitung: Bugfix für SQL Injection - XT:Commerce V3.04 SP2.1

@compatible XT:Commerce V3.04 SP2.1 (c) 2009-2011 alkim.de
Dieses Dokument ist durch Urheberrecht geschützt und darf ohne ausdrückliche Erlaubnis weder kopiert noch vervielfältigt oder Dritten zugänglich gemacht werden!

Alkim Media / Shopmodules.de
Geschäftsführerin: Thekla Alkim
Perleberger Straße 62b
16866 Kyritz
www.shopmodules.de
www.alkim.de
service@shopmodules.de

CHANGED FILES:

inc/xtc_validate_email.inc.php password_double_opt.php


INSTALLATION:

1. Datenkbankerweiterungen durchführen

2. new_files und new_dirs kopieren.
3. changed_files kopieren, oder bei nicht standard-version folgende änderungen durchführen. Dabei ist zu beachten, dass grüner Text hinzugefügt und roter Text entfernt wird!inc/xtc_validate_email.inc.phpTop
ca. Zeile 1
<?php
/* -----------------------------------------------------------------------------------------
$Id: xtc_validate_email.inc.php 899 2005-04-29 02:40:57Z hhgag $
$Id: xtc_validate_email.inc.php 899 2011-02-16 02:40:57Z

XT-Commerce - community made shopping
http://www.xt-commerce.com

ca. Zeile 48

function xtc_validate_email($email) {
$valid_address = true;

// sql injection fix 16.02.2011
if (strpos($email,"\0")!==false) {return false;}

$mail_pat = '^(.+)@(.+)$';
$valid_chars = "[^] \(\)<>@,;:\.\\\"\[]";
$atom = "$valid_chars+";
$quoted_user='(\"[^\"]*\")';
password_double_opt.phpTop
ca. Zeile 83

        $newpass = xtc_create_random_value(ENTRY_PASSWORD_MIN_LENGTH);
        $crypted_password = xtc_encrypt_password($newpass);

        xtc_db_query("update ".TABLE_CUSTOMERS." set customers_password = '".$crypted_password."' where customers_email_address = '".$check_customer['customers_email_address']."'");
        xtc_db_query("update ".TABLE_CUSTOMERS." set customers_password = '".$crypted_password."' where customers_email_address = '".xtc_db_input($check_customer['customers_email_address'])."'");
        xtc_db_query("update ".TABLE_CUSTOMERS." set password_request_key = '' where customers_id = '".$check_customer['customers_id']."'");
        // assign language to template for caching
        $smarty->assign('language', $_SESSION['language']);
        $smarty->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/');


weitere InfosTop
Bei der Selbstinstallation, insbesondere dann wenn ein XT:Commerce Shop oder Fork bereits modifiziert wurde, ist das Risiko relativ hoch, dass beim Einbau unvorhergesehene Probleme auftreten, die zur Folge haben, dass entweder Teilfunktionen des Shops oder gar der vollständig Shop nicht mehr ordungsgemäß funktioniert. Um diesem Problem weitgehend entgegen zu wirken werden unsere Module in aller Regel in 2 Versionen ausgeliefert, so dass eine unbelassene XTC Installation durch einfaches ersetzen von Dateien mit dem Modul erweitert werden kann und alternativ durch manuelles verändern von existierenden Dateien. Diesen besonderen Service finden man im übrigen nicht generell auch bei anderen Dienstleistern. Als weiteren Service wir zum Kauf eines jeder unsere Module gegen eine geringe Gebühr einen Installationsservice inkl. 14-tägigen email Support an. Wer also auf Nummer sicher gehen möchte, insbesondere wenn nur wenige Kenntnisse oder Erfahrungen hat, ist deshalb gut beraten diesen Service zu nutzen.

Jedem Kunden, der diesen Support mit erworben hat, stehen wir für Support Fragen über unser Kontaktformular zur Verfügung. Aufgrund einer hohen Nachfrage nach unseren Entwicklungen ist es zeitlich bedingt nicht möglich telefonische Auskünfte zu geben.Anfragen darüber werden i.d.R. binnen 24 Std. fachkundig beantwortet.

Sollte ein Modul ohne Support und Installationsservice erworben worden sein, steht Ihnen bei Fragen ebenso unser Helpdesk, jedoch mit eingeschränkten Support Leistungen zur Verfügung. Mangels der dafür erbrachten Vergütung ist ein weiterführender Support nicht möglich und kann nur gegen individuelle Aufwandsvergütung erfolgen.

Wir danken für Ihr Verständnis und wünschen Ihnen Gute Geschäfte!

Ihr Alkim Media Team