Автор Тема: Как убрать форму обратной связи на сайте ?  (Прочитано 3364 раз)

21 Февраль 2018, 17:51:22
  • Новичок
  • *
  • Сообщений: 17
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добрый день!

Подскажите, как можно убрать или отключить форму обратной связи на сайте ?
Одолели спамеры, не могу найти в админке где это отключается.
преста 1.6 шаблон по умолчанию.
21 Февраль 2018, 18:30:22
Ответ #1
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
В админке нельзя отключить. Нужно удалять ссылки на страницу контакты в разных модулях и удалить шаблон contact-form.tpl
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
21 Февраль 2018, 19:42:36
Ответ #2
  • Новичок
  • *
  • Сообщений: 17
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
УРААА Решил! Большое спасибо форумчанам за помощь!
Самый красивый на мой взгляд способ защититься от спамеров это запретить в письмах клиентов вставлять любые ссылки на сайты, почты и прочее.
Для этого в файл classes/Validate.php в function isCleanHtml($html, $allow_iframe = false) вставить код

if (preg_match('/href/i', $html)) {
            return false;
        }

if ((strpos($html, 'http')) !== false) {
            return false;
        }
if ((strpos($html, '<')) !== false) {
            return false;
        }
if ((strpos($html, '@')) !== false) {
            return false;
        }

то есть функция должна начинаться так

public static function isCleanHtml($html, $allow_iframe = false)
    {
       
if (preg_match('/href/i', $html)) {
            return false;
        }

if ((strpos($html, 'http')) !== false) {
            return false;
        }
if ((strpos($html, '<')) !== false) {
            return false;
        }
if ((strpos($html, '@')) !== false) {
            return false;
        }

После этого при попытке спамера отправить сообщение со ссылкой выдается сообщение об ошибке.
Обычные письма уходят нормально и при этом клиенту отправляется уведомление об полученном сообщении.
22 Февраль 2018, 01:59:19
Ответ #3
  • Новичок
  • *
  • Сообщений: 17
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Нет, к сожалению этот вариант не подходит.
После таких изменений получается, что клиенты после заказа не получают уведомление, вылезает ошибка, поскольку в письме подтверждение заказа тоже есть ссылки.
Будем думать дальше.
22 Февраль 2018, 05:12:03
Ответ #4
  • Новичок
  • *
  • Сообщений: 15
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если с сайта убрали ссылку на форму и нормальные люди не смогут ею воспользоваться, то можно такой способ:
Создайте файл ContactController.php c содержимым:

<?php
class ContactController extends ContactControllerCore
{
    public function 
postProcess()
    {
         
header('HTTP/1.0 403 Forbidden'); 
         exit;
    }
}

Скопируйте файл в /override/controllers/front/
Затем сотрите файл /cache/class_index.php