ip в заказе

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

pikasso M
pikasso M
Возраст: 45
Репутация: 10
Сообщения: 128
Зарегистрирован: 31.01.2016
С нами: 8 лет 1 месяц

Сообщение #1 pikasso » 04.04.2016, 19:21

Здравствуйте - подскажите в каких файлах править что бы в админке в заказе отоброжался ip адрес заказчика.?
Хоть небольшая вероятность защиты от придурков что пишут ложные заказы.
Работаю с версией движка Okay 1.0.3 ...

simplamarket M
Аватара
simplamarket M
Репутация: 1
Сообщения: 42
Зарегистрирован: 29.01.2016
С нами: 8 лет 1 месяц
Сайт Skype

Сообщение #2 simplamarket » 05.04.2016, 07:26

pikasso писал(а):Здравствуйте - подскажите в каких файлах править что бы в админке в заказе отоброжался ip адрес заказчика.?
Хоть небольшая вероятность защиты от придурков что пишут ложные заказы.
Работаю с версией движка Okay 1.0.3 ...
Добрый день. Если IP редактировать не надо, то откройте файл по адресу
backend/design/html/order.tpl

и после блока

Код: Выделить всё

<li>
         <label class=property>Дата</label>
         <div class="edit_order_detail view_order_detail">
         {$order->date} {$order->time}
         </div>
      </li>


Строка 91-96
Вставьте вот такой код:

Код: Выделить всё

  <li>
            <label class=property>IP заказа</label>
            <div class="edit_order_detail view_order_detail">
                {$order->ip}
            </div>
        </li>
С уважением,
служба поддержки SimplaMarket.ru
Skype: simplamarket

pikasso M
pikasso M
Возраст: 45
Репутация: 10
Сообщения: 128
Зарегистрирован: 31.01.2016
С нами: 8 лет 1 месяц

Сообщение #3 pikasso » 06.04.2016, 06:45

Отлично - все работает...
хоть можно анализировать пусты е заказы и пытаться блокировать по ip

simplamarket M
Аватара
simplamarket M
Репутация: 1
Сообщения: 42
Зарегистрирован: 29.01.2016
С нами: 8 лет 1 месяц
Сайт Skype

Сообщение #4 simplamarket » 06.04.2016, 07:13

pikasso писал(а):Отлично - все работает...
хоть можно анализировать пусты е заказы и пытаться блокировать по ip
Если Вас атакуют спам-роботы, можно как вариант установить на сайт капчу от гугла, что бы избежать "липовых" заказов
С уважением,
служба поддержки SimplaMarket.ru
Skype: simplamarket

pikasso M
pikasso M
Возраст: 45
Репутация: 10
Сообщения: 128
Зарегистрирован: 31.01.2016
С нами: 8 лет 1 месяц

Сообщение #5 pikasso » 06.04.2016, 16:58

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

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 216
Сообщения: 1627
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Сайт Skype

Сообщение #6 OkayCMS » 13.04.2016, 06:03

Включили отображение IP в заказе в новую версию.

pikasso M
pikasso M
Возраст: 45
Репутация: 10
Сообщения: 128
Зарегистрирован: 31.01.2016
С нами: 8 лет 1 месяц

Сообщение #7 pikasso » 04.09.2016, 10:47

Не подскажете возможно ли внедрить систему для внесения ip для блокировки...через админку.?

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 216
Сообщения: 1627
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Сайт Skype

Сообщение #8 OkayCMS » 04.09.2016, 11:24

pikasso писал(а):Не подскажете возможно ли внедрить систему для внесения ip для блокировки...через админку.?
Блокировать по айпи можно в htaccess. Вндерять это в админку не планируется. Будет только мешать большинству, а пользуется этим один из 1000 и то 1-2 раза в жизни.

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #9 korshunov » 04.09.2016, 11:58

pikasso писал(а):Не подскажете возможно ли внедрить систему для внесения ip для блокировки...через админку.?

Возможно.
1. В админке создать страницу "черного списка" (диапазонов) IP.
2. НЕ пускать на сайт пользователей с указанными в списке IP.
Если Вам действительно надо и готовы оплачивать, обращайтесь...

pikasso M
pikasso M
Возраст: 45
Репутация: 10
Сообщения: 128
Зарегистрирован: 31.01.2016
С нами: 8 лет 1 месяц

Сообщение #10 pikasso » 04.09.2016, 16:11

OkayCMS писал(а):
pikasso писал(а):Не подскажете возможно ли внедрить систему для внесения ip для блокировки...через админку.?
Блокировать по айпи можно в htaccess. Вндерять это в админку не планируется. Будет только мешать большинству, а пользуется этим один из 1000 и то 1-2 раза в жизни.
Понял..благодарю.
Буду по старинке.

Vitaly
Аватара
Vitaly
Репутация: 20
Сообщения: 109
Зарегистрирован: 15.08.2016
С нами: 7 лет 7 месяцев

Сообщение #11 Vitaly » 09.09.2016, 18:24

А что если попробовать решить задачу на уровне шаблона? Как бы избыточность smarty позволяет... ;)
Открываем \design\ваш_шаблон\html\index.tpl и оборачиваем body в такую конструкцию:

Код: Выделить всё

{$smarty.server.REMOTE_ADDR assign='client_ip'}
{fetch file='design/'|cat:$settings->theme|escape|cat:'/html/ip-ban.tpl' assign='ban_ip'}
{assign var=ban_ip_arr value=', '|explode:$ban_ip}
{if $client_ip|in_array:$ban_ip_arr}

{else}
<body>
.......
</body>
{/if}

В папке \design\ваш_шаблон\html\ создаем файл ip-ban.tpl, в котором пишем все айпишки злодеев в таком формате:
192.168.1.1, 192.168.1.2, 192.168.1.3

Файл ip-ban.tpl можно редактировать из админки, зайдя в раздел "шаблоны".

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #12 korshunov » 09.09.2016, 19:19

Работать оно будет, но вообще выглядит как-то нерационально.
Ведь при вызове, например, страницы категории сначала сформируется контент списка товаров, который показывать никак не планируется, и только потом работа перейдет к шаблону index.php.
Куда логичнее проверять IP на запрет в index.php В САМОМ НАЧАЛЕ и отсекать лишнюю работу.

Vitaly
Аватара
Vitaly
Репутация: 20
Сообщения: 109
Зарегистрирован: 15.08.2016
С нами: 7 лет 7 месяцев

Сообщение #13 Vitaly » 10.09.2016, 08:33

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

Ну вот по аналогии, код для index.php, базой IP вредителей служит тот-же ip-ban.tpl. Только добавил проверку на существование файла.
Как видно по второй строке, его нужно вставить в index.php после $view = new IndexView();
Собсно вопрос - почему нужно проверять "В САМОМ НАЧАЛЕ"?
В самом начале не получиться определить шаблон.

Код: Выделить всё

$client_ip = $_SERVER['REMOTE_ADDR'];
$ban_file = 'design/'.$view->settings->theme.'/html/ip-ban.tpl';
if (file_exists($ban_file)) {
   $ban_ip = file_get_contents($ban_file);
   $ban_ip_arr = explode(', ', $ban_ip);
   if(in_array($client_ip, $ban_ip_arr)){
      die('GoodBYE...');
   }
}

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #14 korshunov » 10.09.2016, 09:44

Vitaly писал(а):Собсно вопрос - почему нужно проверять "В САМОМ НАЧАЛЕ"?

Собственно ответ - чтобы сэкономить и не выполнять лишние ненужные действия по формированию контента страницы, который потом все равно НЕ БУДЕТ ИСПОЛЬЗОВАТЬСЯ.

Vitaly писал(а):В самом начале не получиться определить шаблон.

1. Во-первых, это не особо нужно - выводить страницу по шаблону для какого-то хакера, которого мы не уважаем настолько, что не хотим показывать ему содержимое сайта
2. Во-вторых, если захотеть, то получится, причем совсем несложно.
2.1 Один пример можно получить из файла index.php удалением лишнего:
require_once('view/IndexView.php');
$view = new IndexView();
$_GET['page_url'] = '404';
$_GET['module'] = 'PageView';
print $view->fetch();
2.2 Другой пример можно получить из файла ajax/cart.php также удалением лишнего:
require_once('../api/Okay.php');
$okay = new Okay();
$result = $okay->design->fetch('cart_informer.tpl');
print $result;
Думаю, если поискать, можно и другие готовые примеры найти...

Vitaly
Аватара
Vitaly
Репутация: 20
Сообщения: 109
Зарегистрирован: 15.08.2016
С нами: 7 лет 7 месяцев

Сообщение #15 Vitaly » 10.09.2016, 11:43

чтобы сэкономить и не выполнять лишние ненужные действия по формированию контента страницы
Что мы сэкономим если код вставим не после 10-й строки $view = new IndexView(); а в самый верх, с использованием ваших примеров?
не особо нужно - выводить страницу по шаблону для какого-то хакера, которого мы не уважаем настолько, что не хотим показывать ему содержимое сайта
Ну вообще другая цель тут преследовалась, в первую очередь удобство и универсальность установки кода. Закинул файл в шаблон, закинул код в index.php и все работает. При смене шаблона просто копируем файл с IP.
Думаю тут приоритеты и выгоду каждый сам для себя должен определять.

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #16 korshunov » 10.09.2016, 15:42

Vitaly писал(а):Что мы сэкономим если код вставим не после 10-й строки $view = new IndexView(); а в самый верх, с использованием ваших примеров?

Особо ничего не сэкономим.
Фраза про экономию написана сразу после Вашего поста про вставку в шаблон index,tpl и относится к тому, что экономия будет при вставке в index.php по сравнению со вставкой в шаблон index.tpl.

Vitaly
Аватара
Vitaly
Репутация: 20
Сообщения: 109
Зарегистрирован: 15.08.2016
С нами: 7 лет 7 месяцев

Сообщение #17 Vitaly » 10.09.2016, 16:33

Куда логичнее проверять IP на запрет в index.php В САМОМ НАЧАЛЕ и отсекать лишнюю работу.
Ну значит я не правильно понял эту фразу. Слова "в самом начале" были так выделены, что я грешным делом подумал, что в этом есть серьезный смысл.
А то, что можно вытащить имя шаблона в любом месте это понятно, просто в этом случае выглядело бы глуповато, и я думаю, что вы бы первым меня в этом упрекнули, ибо логичнее код на 10 строк опустить.

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #18 korshunov » 10.09.2016, 16:50

Vitaly писал(а):ибо логичнее код на 10 строк опустить.

Согласен.


Название раздела: Обсуждение прочих вопросов
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Обсуждение прочих вопросов»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 14 гостей