E-shop Zencart rozesílá spamy – řešení, výběr open-source náhrady

Jeden z hostingů, kde jsem uvedl do provozu Zencart mi zaslal informaci, že z dané domény jsou rozesílány spamy. Určení, který skript spamy rozesílá bylo zjednodušeno tím, že hosting poslal konkrétní název PHP souboru. Uvedený soubor se nacházel v adresáři images a spolu s ním řada dalších. Doposud mi není znám způsob, jak se do adresáře images soubory dostaly. Nepoužívám Total Commander, odkud některé viry vykrádají hesla, navíc hesla jsou složité na určení pomocí brute-force.

Soubory s adresáře images jsem odstranil a pro jistotu jsem změnil heslo k FTP. PHP soubory se však po několika dnech objevily v adresáři images znovu. Domnívám se, že je zneužita funkce Zencartu pro uload obrázků, ale podrobněji jsem po přesném způsobu průniku nepátral. Nakonec jsem tomuto zabránil velmi provizorně zamezil následujícím skriptem:

$dir = "images/";
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
$path_parts = pathinfo($file);
if (filetype($dir . $file)=='file' AND strtolower($path_parts['extension'])=='php'){
unlink($dir . $file);
}
}
closedir($dh);
}
}

Skript periodicky kontroluje adresář images na přítomnost PHP souborů a maže je. Dále jsem do adresáře umístil soubor .htacces s tímto obsahem:

SetHandler enginge_off
RemoveType application/x-httpd-php .php .xml

což znemožní spuštění PHP skriptů v daném adresáři.

Řešení je skutečně provizorní, Zencart se již několik let nevyvíjí, existují sice nějaké opravné patche, při jejich použití však přestal fungovat html editor v administraci e-shopu. Navíc programový kód Zencartu je roztroušen v mnoha adresářích a pátrání po chybách či provádění modifikací funkcí e-shopu je dost složité.

Hledám tedy open-source náhradu Zencartu, pokud možno se stejným rozsahem funkcí, s jednoduchým systémem témat, pluginů (zásuvných modulů) a hacků (háčků, hákování funkcí?), nejlépe jako má např. publikační systém WordPress. Wordpres umožňuje jednoduše doplňovat nové funkce či stávající modifikovat bez jediného zásahu do kódu samotné aplikace, což je dost podstatné pro účely udržování upgradů, kdy bez obav aktualizujeme aplikaci a naše pluginy zůstanou nedotčené. Aktualizace Zencartu byla vždy náročná záležitost, Zencart se totiž často modifikoval zásahy do kódu aplikace, protože stávající systém pro overriding (překrývání) funkcí neumožňoval modifikace všeho co bylo potřebné – např. výpočet ceny produktů.

Zatím jsem došel k e-shopu Magento, který je postaven na Zend frameworku a údajně existuje možnost importu ze Zencartu (bude však možné importovat hesla uživatelů?). Slibně a jednodušeji vypadá Opencart. VirtueMart jsem vyřadil, protože k provozu je nutný systém Joomla!. Prestashop se modifikuje zásahy do kódu aplikace. Pokud někdo z kolejdoucích doplní tipy na další open-source e-shopy, bude to přínosné.

Komentáře jsou uzavřeny.