KostaShah

Рейтинг
17
Регистрация
11.06.2012

Arlinne, я глянул на ваш сайт, с большой долей вероятности вредонос находится в файле http://home-ideas.ru/wp-includes/js/jquery/jquery.js

Скорее всего проблему можно решить перезаливкой этого файла из вашего бэкапа. Но для снижения вероятности повторного внедрения вредоноса, в любом случае следует проверить сайт на наличие шелов вышеупомянутым мной скриптом, тщательно проверить ваш личный компьютер на вирусы хорошим антивирусом, сменить пароли FTP на более сложные, и регулярно обновлять версии движка (ВордПреса).

Если не сложно, отпишитесь пожалуйста, прав ли я оказался на счёт заражённого файла jquery.js

П.С. Странно, пытался редактировать своё сообщение, а в результате добавилось повторное. Прошу удалить предыдущее.

---------- Добавлено 07.07.2012 в 05:34 ----------

Mad_Man:
Мусье, вам бы матчасть почитать. А судя по статьям из filesafe.anek.ws - ещё и пару книг по логике.

пункт 3.4: Не одобряются попытки обратить внимание на низкий уровень знаний какого-либо участника форума.

Arlinne, я глянул на ваш сайт, с большой долей вероятности вредонос находится в файле http://home-ideas.ru/wp-includes/js/jquery/jquery.js

Скорее всего проблему можно решить перезаливкой этого файла из вашего бэкапа. Но для снижения вероятности повторного внедрения вредоноса, в любом случае следует проверить сайт на наличие шелов вышеупомянутом мной скриптом, тщательно проверить ваш личный компьютер на вирусы хорошим антивирусом, и сменить пароли FTP на более сложные.

Arlinne:
Как и где побороть эту заразу - не подскажете?

Зараза может находиться в одном из двух мест: в файле, или в базе данных. Если айфрейм показывается на всех страницах подряд, то скорее всего он в файле. Если же он как бы привязан к определённым статьям, то тогда он скорее в базе данных. По способу записи заразы тоже могут быть 2 варианта: разметка айфрейма может быть записана в файле (или базе) напрямую, или она может собираться скриптом. Если я правильно понял, при простом просмотре исходного кода дрянь не видно, а только при инспекции элементов? Тогда скорее всего это второй, худший для нас вариант - айфрейм не записан нигде в явном виде, а строится ява-скриптом. Тогда придётся проверить все скрипты. Но прежде чем искать вручную, советую попробовать воспользоваться представленным вот здесь: /ru/forum/707624 скриптом для поиска вредоносов. Если не поможет, то нужно просмотреть вручную все ява-скрипты, или просто перезалить их все из надёжного источника, а так же, проверить все шаблоны и другие файлы, участвующие в построении страниц, на предмет подозрительных <script>-ов.

Когда вычистите сайт, советую воспользоваться моим сервисом http://filesafe.anek.ws/, который позволит при следующем заражении не ждать пока вас заблокирует гугл, и не выискивать заражённые файлы вручную, а сразу оповестит вас о том, какие файлы были изменены.

Задачка показалась мне интересной. Пораскинул мозгами. Таки можно решить при разной высоте блоков, без скрипта. Довольно просто. Вот: http://filesafe.anek.ws/blocks.htm Смотрите стили в разметке. Оба дива ставятся в релятивно позиционированный контейнер, верхний див позиционируется абсолютно, и имеет top:100%.

После того, как вы проверили и вычистили сайт от вирусов, троянов и бэкдоров, нужно принять меры для предотвращения последствий будущего попадания этой гадости на ваш сайт. Для этого мной недавно был создан сервис активного мониторинга файлов сайта, который оповестит вас по мэилу, если в файлах вашего сайта произошли изменения (внедрения вредоносов), или на сайт были добавлены новые файлы (бэкдоры и трояны). Тогда в следующий раз вам не придётся столь долго и трудоёмко искать шелл. Вот адрес сервиса: http://filesafe.anek.ws/

Тогда один из нас что-то не понимает. На сколько я понимаю этот запрос, он покажет все записи из item_synonyms, соответствующие критерию WHERE (независимо, есть ли соответствующие им записи в items). Для того, чтобы показались только записи, присутствующие в обоих таблицах, нужен простой (INNER) JOIN.

Может так же помочь хотлинк-защита - запрет запрашивать ресурсы (картинки, CSS, JS), если реферером является не ваш домен. Она легко включается в сипанели, работает через .htaccess. Тогда злоумышленник всё ещё сможет читать тексты вашего сайта, но они будут иметь сильно неприглядный вид (без стилей, скриптов и картинок), и скорее всего, вместо того, чтобы обходить это, он просто удалит ваш сайт из числа своих жертв. Пишу по своему опыту, мне таким простым способом удалось решить проблему.

По моему, правильно. Должно быть довольно эффективно. item_synonyms. synonym конечно имеет индекс?

Чисто из любопытства, вопрос: зачем вам в результатах показывать синонимы, которых нет в таблице айтемов, то есть, как я понял, это будут такие написания товаров, какие ни один поставщик не использует? Я понимаю зачем хранить их в таблице синонимов (чтобы расширить возможности поиска товаров), но зачем выводить их в результате?

SeVlad:
Вы мясо\молоко\етс предпочитаете покупать в спец. местах или где-то в подворотне с земли у залётных продавцов?

Я покупаю мясо и молоко в большом супермаркете. Но недалеко от дома есть маленькая мясная лавка, маленький семейный бизнес. Там мясо стоит процентов на 20 дороже. Жена периодически покупает там. Ей нравится, что там она может пообщаться с продавцом, выбрать нужный ей кусок, и если надо ей его и перекрутят мясорубкой на месте. Я по-началу с ней спорил, мол зачем переплачивать? А потом подумал: а ведь поддерживать мелкий бизнес - это правильно! Иначе люди, пытающиеся заработать своим честным свободным трудом, будут вынуждены пахать за гроши на буржуев, и станет у нас в результате одна глобальная торговая сеть, без конкуренции, и будет она делать с нами что захочет.

Да, наверно ядро Джумлы пишет коллектив, заслуживающий доверия. Но тысячи плагинов к ней пишут такие же одиночки, как я. Некоторые из них, конечно, являются высоко-квалифицированными специалистами, но многие могут оказаться начинающими недоучками, решившими начать осваивать азы программирования на написании плагина.

SeVlad:
Давая юзеру бесплатно необходимый минимум, а вот за доп. плюшки уже можно и нужно брать и денежку.

Я совершенно согласен, мне тоже очень нравится такой подход. Но я долго думал, и не мог придумать, за что тут можно не брать деньги, а за что брать. Я сделал пару бесплатных сайтов, где довольствуюсь только Эдсенсом. Но в данном случае и этого не будет. Ведь посещать сайт сервиса незачем. Один раз зашёл, зарегистрировался, и всё, дальше только читаешь свой мэил. А сервер при этом пашет как вол, тратя трафик и ресурсы. Вот я и подумал, что в моём случае "необходимым минимумом" будет первое время бесплатного пользования.

Таблица синонимов уже существует, или вы планируете её как-то создавать?

Я бы не делал отдельную таблицу синонимов, а добавил ещё 1 поле к таблице с товарами:

ID, ID поставщика, название, описание, цена и прочее, ID группы

где "ID группы" - имеет одинаковые значения для товаров-синонимов.

То есть, к примеру:

1,1,Apple iPhone 4 - 16GB - Black,...,1

2,2,iPhone 4 16 black ОРИГІНАЛ,...,1

3,1,Нокия шмокия,...,2

4,2,Нокия хренокия,...,2

Тогда запрос можно будет сделать такой:

SELECT a.название FROM товары a JOIN товары b USING(`ID группы`) WHERE b.название = '$_POST[zapros]'

---------- Добавлено 14.06.2012 в 16:42 ----------

Но если копнуть глубже, и подойти к задаче серьёзнее, то я и это бы не делал. Вам ведь нужно обеспечить чтобы клиент мог находить все интересующие его товары, не зная, как именно они пишутся у разных поставщиков. Я бы сделал Full text index по полю названий товаров, и запускал бы поиск по словам, набранным пользователем. Что-то типа:

SELECT название FROM товары WHERE MATCH (название) AGAINST ('$_POST[zapros]')

Тогда что бы пользователь ни ввёл: "iPhone" или "Apple iPhone" или "iPhone Apple", он получит список всех айфонов.

Всего: 97