Перейти к содержанию
Форум поддержки пользователей VamShop

это жесть! роботы делают заказ в магазине- что делать?


Рекомендуемые сообщения

это жесть! роботы стали делать заказы в магазине..

впервые за 10 лет роботы стали делать заказы.. уже второй заказ за три дня.

то есть заполняет все данные ( левые корявые зарубеж- германия или сша)

напихивает товаров в корзину- разных.. и делает заказ.

как это предотвратить ? с учетом того что магазин смс отсылает- ясно дело на левый номер..

плюс статистика портится таким образом...

может где-то какое то поле невидимое сделать- которое робот не сможет сьесть?

версия магазина последняя..включена аякс корзина

Ссылка на сообщение
Поделиться на другие сайты

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

Ссылка на сообщение
Поделиться на другие сайты

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

а как ее добавить и на какую страницу? страницу оформления заказа?

Ссылка на сообщение
Поделиться на другие сайты

 а есть конкретная технология? из какого файла брать эту невидимую капчу? как она выглядит? что искать в коде?

Ссылка на сообщение
Поделиться на другие сайты

Конкретный код есть например в create_account.php и /templates/шаблон/module/create_account.html

 

Раз сами не можете его перенести, создайте тему в разделе Коммерческие предложения, рублей за 500 вполне можно будет и сделать.

Ссылка на сообщение
Поделиться на другие сайты

а, так это только в шаблоне vamshop2, там конструкции подобные.. просто это ж не капча, а просто невидимые поля

<script type="text/javascript">
{literal}
$(function($){

    $('.form-anti-bot, .form-anti-bot-2').hide(); // hide inputs from users
    var answer = $('.form-anti-bot input#anti-bot-a').val(); // get answer
    $('.form-anti-bot input#anti-bot-q').val( answer ); // set answer into other input

    if ( $('form#create_account input#anti-bot-q').length == 0 ) {
        var current_date = new Date();
        var current_year = current_date.getFullYear();
        $('form#create_account').append('<input type="hidden" name="anti-bot-q" id="anti-bot-q" value="'+current_year+'" />'); // add whole input with answer via javascript to form
    }

});
{/literal}
Ссылка на сообщение
Поделиться на другие сайты

просто поставил я в checkout.php такую конструкцию

$spam_flag = false;

		if ( trim( $_POST['anti-bot-q'] ) != date('Y') ) { // answer is wrong - maybe spam
			$spam_flag = true;
			if ( empty( $_POST['anti-bot-q'] ) ) { // empty answer - maybe spam
				$antispam_error_message .= 'Error: empty answer. ['.$_POST['anti-bot-q'].']<br> ';
			} else {
				$antispam_error_message .= 'Error: answer is wrong. ['.$_POST['anti-bot-q'].']<br> ';
			}
		}
		if ( ! empty( $_POST['anti-bot-e-email-url'] ) ) { // field is not empty - maybe spam
			$spam_flag = true;
			$antispam_error_message .= 'Error: field should be empty. ['.$_POST['anti-bot-e-email-url'].']<br> ';
		}
		


if (SC_CONFIRMATION_PAGE == 'true') { //got to confimration page
$vamTemplate->assign('BUTTON_CONTINUE', vam_image_submit('submit.png', IMAGE_BUTTON_CONTINUE));
} else {
$vamTemplate->assign('BUTTON_CONTINUE', vam_image_submit('submit.png', IMAGE_BUTTON_CHECKOUT));
}

но видимо в конце чего-то не хватает.. как вот тут написать правильно условие?

if (SC_CONFIRMATION_PAGE == 'true') & $spam_flag = false; но как ни пробую выдается ошибка..

Ссылка на сообщение
Поделиться на другие сайты

все понятно..просто когда шаблон на 1.73 перегоняли, то в create_account.html не было вставлено этой проверки на ботов, а они покупали уже после регистрации!

то есть лезли набирали товар в корзину, и скидывали заказ..

Ссылка на сообщение
Поделиться на другие сайты

Если у Вас свой шаблон, то Вы не забудьте его обновить, страницу обратной связи, страницу создания отзыва, страницу регистрации.

 

А то если не обновите, у Вас никто не сможет ни зарегистрироваться, ни написать отзыв, ни письмо обратной связи.

 

Именно из-за невидимой каптчи, точнее из-за того, что в html шаблоны не вставлен код.

Ссылка на сообщение
Поделиться на другие сайты

в страницу регистрации ( в шаблон) все вставил, но вот проблема- продолжают заказывать..

 

вот такая балда

http://SSMaker.ru/690bc8f2/

 

видно что именно зарегился робот а потом пошел делать заказ..

невидимую форму все же видно обошел..

что делать???

Ссылка на сообщение
Поделиться на другие сайты

А Вы точно вставили каптчу, она работает?

 

Дайте ссылку на магазин.

 

Да и если у Вас быстрое оформление, то страница регистрации никак не участвует в оформлении, нужно добавлять каптчу на страницу checkout.php

 

Проверить, работает ли каптча можно например в chrome developer consoe

 

Нажмите ctrl + alt + shift, отметьте - Disable javascript и обновите страницу в браузере.

 

Если всё сделано правильно, то после заполнения формы, она не будут выполняться, т.е. просто страница перегрузится и всё, заказ не будет создан, пользователь не будет зарегистрирован, письмо с обратной связи не будет отправлено, отзыв не будет добавлен.

 

Каптчу проверял на магазин, у котором были сотни и сотни "ботовых" регистраций, отзывов, обратных писем.

 

После того как была поставлена каптча, проблема отпала полностью.

Ссылка на сообщение
Поделиться на другие сайты

А Вы точно вставили каптчу, она работает?

 

Дайте ссылку на магазин.

 

Да и если у Вас быстрое оформление, то страница регистрации никак не участвует в оформлении, нужно добавлять каптчу на страницу checkout.php

 

Проверить, работает ли каптча можно например в chrome developer consoe

 

Нажмите ctrl + alt + shift, отметьте - Disable javascript и обновите страницу в браузере.

 

Если всё сделано правильно, то после заполнения формы, она не будут выполняться, т.е. просто страница перегрузится и всё, заказ не будет создан, пользователь не будет зарегистрирован, письмо с обратной связи не будет отправлено, отзыв не будет добавлен.

 

Каптчу проверял на магазин, у котором были сотни и сотни "ботовых" регистраций, отзывов, обратных писем.

 

После того как была поставлена каптча, проблема отпала полностью.

магазин argomoscow.ru на странице быстрого оформления вроде тоже делал все.. посмотрите

Ссылка на сообщение
Поделиться на другие сайты

на странице checkout.php по умолчанию все есть. так как это файл движка версия 1.73.

в шаблоне тоже добавлял- но еще попробую позже посмотреть..

Ссылка на сообщение
Поделиться на другие сайты

на checkout.php которая в корне :huh:?

 

вот такая там конструкция  есть

$spam_flag = false;

		if ( trim( $_POST['anti-bot-q'] ) != date('Y') ) { // answer is wrong - maybe spam
			$spam_flag = true;
			if ( empty( $_POST['anti-bot-q'] ) ) { // empty answer - maybe spam
				$antispam_error_message .= 'Error: empty answer. ['.$_POST['anti-bot-q'].']<br> ';
			} else {
				$antispam_error_message .= 'Error: answer is wrong. ['.$_POST['anti-bot-q'].']<br> ';
			}
		}
		if ( ! empty( $_POST['anti-bot-e-email-url'] ) ) { // field is not empty - maybe spam
			$spam_flag = true;
			$antispam_error_message .= 'Error: field should be empty. ['.$_POST['anti-bot-e-email-url'].']<br> ';
		}
		


if (SC_CONFIRMATION_PAGE == 'true' and $spam_flag = false) { //got to confimration page
$vamTemplate->assign('BUTTON_CONTINUE', vam_image_submit('submit.png', IMAGE_BUTTON_CONTINUE));
} else {
$vamTemplate->assign('BUTTON_CONTINUE', vam_image_submit('submit.png', IMAGE_BUTTON_CHECKOUT));
}
Ссылка на сообщение
Поделиться на другие сайты

в общем, хэлп, теперь получается требуется алгоритм лечения.. так как на 5ти сайтах такая беда случилаось(( везде где обновил до 1.73

за вознаграждение также буду рад

Ссылка на сообщение
Поделиться на другие сайты

А в шаблоне checkout.html есть код?

 

В общем, правильно встройте каптчу на страницу checkout

 

там вот такой код

вначале

<script type="text/javascript">
{literal}
$(function($){

    $('.form-anti-bot, .form-anti-bot-2').hide(); // hide inputs from users
    var answer = $('.form-anti-bot input#anti-bot-a').val(); // get answer
    $('.form-anti-bot input#anti-bot-q').val( answer ); // set answer into other input

    if ( $('form#create_account input#anti-bot-q').length == 0 ) {
        var current_date = new Date();
        var current_year = current_date.getFullYear();
        $('form#create_account').append('<input type="hidden" name="anti-bot-q" id="anti-bot-q" value="'+current_year+'" />'); // add whole input with answer via javascript to form
    }

});
{/literal}
</script>

 и в конце страницы

<br />
<div class="pagecontentfooter">
{$BUTTON_CONTINUE}
</div>

<div class="form-anti-bot" style="clear:both;">
	<strong>Current <span style="display:none;">month</span> <span style="display:inline;">ye@r</span> <span style="display:none;">day</span></strong> <span class="required">*</span>
	<input type="hidden" name="anti-bot-a" id="anti-bot-a" value="{$smarty.now|date_format:"%Y"}" />
	<input type="text" name="anti-bot-q" id="anti-bot-q" size="30" value="19" />
</div>
<div class="form-anti-bot-2" style="display:none;">
	<strong>Leave this field empty</strong> <span class="required">*</span>
	<input type="text" name="anti-bot-e-email-url" id="anti-bot-e-email-url" size="30" value=""/>
</div>

может быть надо до

{$BUTTON_CONTINUE}  ??а

 

 нет... не работает... все равно заказ проходит

 

 

если в форму вставляю цифры- то да.. заказ не проходит.

иначе проходит. значит все таки робот обхитрил защиту?

вот скриншот

 

http://SSMaker.ru/7d065a78/

Ссылка на сообщение
Поделиться на другие сайты

Рублей за 500 могу вставить каптчу.

 

В .html шаблоне нужно добавлять код ДО закрытия формы, т.е., как минимум, до form_end

 

Ну и в /checkout.php смотрите, куда именно вставили php код, потому как он может у Вас просто не выполняется, вставили в какое-либо условие или ещё что.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...