Помощь Спам из формы обратной связи

Да рега проходит, эта функция проверяет только поля firstname и lastname, если в этих полях к написанному подставляешь точку, выдаётся ошибка, точку убираешь всё ОК, возможно кто то ставит точку не там, наборов похожих символов "...^0-9!<>,;?=+()@#"В°{}..." там встречается много, вот полный код этой функции, уже с точкой:
PHP:
    public static function isName($name)
    {
        return preg_match(Tools::cleanNonUnicodeSupport('/^[^0-9!<>.,;?=+()@#"В°{}_$%:В¤|]*$/u'), stripslashes($name));
    }
У меня так:
Код:
Tools::cleanNonUnicodeSupport('/^[^0-9!<>.,;?=+()@#"°{}_$%:]*$/u')
 
На prestashop 1.4.4.0 точка помогла
У меня три сайта на prestashop 1.4х 1.5х и 1.6х на всех был этот спамер, поставил точки, проверил всё работает и спамер пропал...
Если быть точнее, по IP (46.22.220.46) я вижу что на сайты он заходит, но регистраций больше нет...
 
Мне этот вариант не подошел - в OnepagecheckoutPS перестали проходить заказы. На форуме Prestashop нашел более гибкое решение:

classes/Validate.php

Код:
public static function isCustomerName($name)
    {
        if (preg_match(Tools::cleanNonUnicodeSupport('/www|http/ui'),$name))
           return false;

        return preg_match(Tools::cleanNonUnicodeSupport('/^[^0-9!\[\]<>,;?=+()@#"°{}_$%:\/\\\*\^]*$/u'), $name);
    }

classes/Customer.php

Код:
 'lastname' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32),
            'firstname' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32),


Заменить на:

Код:
            'lastname' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isCustomerName', 'required' => true, 'size' => 32),
            'firstname' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isCustomerName', 'required' => true, 'size' => 32),
 
to viki7

А какая версия Престы и OnepagecheckoutPS ? Можно линк на форум Prestashop?
 
У меня на одном сайте сисадмин ставит на каждую страницу с регистрацией защиту от ботов, не проходят
 
Всплывает окно с сообщением что имя и фамилия неправильные, хотя там все ок.

В приведенном мной примере проверка по точке не используется + введена особая функция для проверки имени и фамилии чтобы не было конфликта.
 
Назад
Сверху