Как воткнуть свой список IP\парам. UA?

Тема в разделе "Thunder 3.X", создана пользователем ddn128, 23 июл 2017.

  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  1. ddn128

    ddn128 Опытный Пользователь

    31 дек 2015
    475
    222
    Мужской
    Собственно, чтобы не втыкать мильёны строк с IP или параметрами UA в клоаке - захотелось вынести это всё в отдельные списки (.txt)
    Но вот вопрос как их подключить?
    Я с этими грёбанными классами никак не могу разобраться :(
    т.е. вроде бы (казалось бы :) )
    Код:
    private $myBot = file('/plugins/bots/my_ip.txt');
    в plugins/Cloaking.php
    но нет, естественно.
    Как это сделать правильно?
    Допустим списки лежат в папке "/plugins/bots/" ну или в какой-то другой, если plugins низзя по каким-то религиозным или др. причинам.
    ну а сами файлы - bot_ip_google.txt, bot_ip_yandex.txt и т.д.
    ну и UA (не обязательно, но желательно) - bot_ua.txt
    Спасибо
     
  2. Art

    Art Участник

    23 фев 2017
    28
    9
    Мужской
    php\html\css developer
    Думаю вот так можно сделать по простому:
    Код:
        
    private $myBot = [];
    
        function __construct ($container = null) {
    
            $this->container = $container;
    
            $this->myBot = file($container->settings['path_to_bots']);
    
            var_dump($this->myBot);
    }
     
  3. ddn128

    ddn128 Опытный Пользователь

    31 дек 2015
    475
    222
    Мужской
    не хотит :(

    293 строка (после private $botYoudao = ... ) -
    Код:
        function __construct ($container = null) {
    
            $this->container = $container;
            $this->device = new Mobile_Detect();
           
            $server = $container->request->getServerParams();
    
            $this->userIp = $server['REMOTE_ADDR'];
    
            if(!empty($server['HTTP_USER_AGENT'])) {
    
                $this->userAgent = $server['HTTP_USER_AGENT'];
            } else {
    
                $this->userAgent = [
                    'name' => 'unrecognized',
                    'version' => 'unknown',
                    'platform' => 'unrecognized',
                    'userAgent' => ''
               ];
            }       
    
        }
     
  4. Art

    Art Участник

    23 фев 2017
    28
    9
    Мужской
    php\html\css developer
    А где функция file выполняется сейчас?
     
  5. ddn128

    ddn128 Опытный Пользователь

    31 дек 2015
    475
    222
    Мужской
    Перед
    private $botAlexa = ...

    263 строка
     
  6. Art

    Art Участник

    23 фев 2017
    28
    9
    Мужской
    php\html\css developer
    #6 Art, 23 июл 2017
    Последнее редактирование: 23 июл 2017
    Так не будет работать. Нужно ее в конструкторе выполнять (или в другом методе) и присваивать $this->myBot;.
    И потом уже в любый других методах можно использовать.

    Вот это рабочий вариант - получает массив всех строк файла. Я проверил.