2013-02-26 2 views
0

У меня есть проблемы с кем-то (с использованием многих IP-адресов), просматривающие во всем моем магазине с помощью:Magento - предотвратить от просмотра без переписывания

example.com/catalog/category/view/id/$i 

Я URL переписывания включен, так что обычный просмотр человек выглядит " дружественный ":

example.com/category_name.html 

Поэтому вопрос - как предотвратить от просмотра в магазине с помощью„старого“(не переписаны) URL-адреса, оставив только„дружественное“URL разрешено?

Это очень важно, так как он использует сотни потоков, которые заставляют магазин работать очень медленно.

ответ

1

Поскольку существует много случайных IP-адресов, ясно, что вы не можете просто заблокировать доступ из одной или нескольких групп адресов. Возможно, вам потребуется реализовать некоторые протоколирования, которые каким-то образом идентифицируют этот искатель однозначно (возможно, агентом браузера, или, возможно, с помощью умного использования библиотеки JavaScript для Modernizr).

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

Этот вопрос SO содержит подробную информацию о правилах для пользовательских агентов.

Block all bots/crawlers/spiders for a special directory with htaccess

+0

В зависимости от того, как @Spyro управляет своей компанией электронной коммерции, блокирование всех ботов/искателей может быть плохой идеей ... У нас есть сканеры от наших поставщиков, которые сканируют наш сайт, чтобы проверить многие вещи, от доступности страницы (нет 404) и правильное состояние запасов и т. д. Если вы собираетесь продавать 2500 своих продуктов, они должны * быть в состоянии проверить их. Блокировка трафика наполовину опасна, так как трудно отсеять «товарищеские отношения» ... – Zak

+2

Конечно, поэтому я предложил реализовать некоторые журналы, которые проверяют уникальный идентификатор этого конкретного искателя. Если это законный искатель, он может иметь некоторые преимущества, но если он замедляет свой сайт до такой степени, что он не может использоваться фактическими людьми, тогда этот искатель должен блокироваться из-за его навязчивости. Если искатель является незаконным, и он имеет уникальный идентификатор, тогда ему нужно показать дверь. – pspahn

0

Как только переписывает там ... Они там. Они хранятся в базе данных Mage по многим причинам. Один из них - это сканеры, которые сканируют ваш сайт. Другой - пользователи, которые могут иметь старую страницу с закладками. Есть несколько методов, которые люди придумали, чтобы пройти и очистить ваши переадресации (Google) ... Но, как он стоит, в Magento, как только они там, с Magento их легко справиться.

Я могу предложить создать новый site map и передать его сканеру, влияющему на ваш сайт. Мало того, что этот гусеничный манипулятор будет сканировать тонны страниц, которые ему не нужны, он увидит дублированный контент (плохой ju ju).

+0

Я проверил IP-адреса, и большинство из них принадлежит хостинговой компании OVH во Франции. Теперь исправьте меня, если я ошибаюсь, но я сомневаюсь, что законные искатели используют хостинг-серверы для работы ...;) – Cleankod

+0

Кроме того, мой магазин начал с перезаписи URL-адресов, включенных с самого первого дня его жизни. Поэтому я сомневаюсь, что у кого-то может быть «старая» ссылка в их закладках. Что касается файла Sitemap, у меня уже есть его, и Google здесь не проблема. – Cleankod

1

Если паук ползет все URLs данного шаблона:

example.com/catalog/category/view/id/$i 

, то вы можете просто убить эти адреса в виде .htaccess. Переписывание производится внутри от category.html -> /catalog/category/view/id/$i, поэтому вы блокируете только ботов.

+0

Я уже пробовал это, но какое правило блокирует URL-адрес, если каталог не существует, а другое правило переписывает их на фактические вызовы переднего контроллера? – Cleankod

+0

Если у вас нет плохих письменных модулей, каждый модуль должен использовать ссылку category.html для перенаправления (301,302). Поэтому вы можете просто заблокировать этот URL-адрес, я думаю. Вы можете попробовать что-то вроде этого: запретить все

Смежные вопросы