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

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

  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Внимание!!! До 1 Мая, скидка 30% на Thunder 3 и MassSiteProxy в магазине. http://ifirestarter.ru
    76197935908C47D5
    DB8D53C51B1B4292
    ECE321C0FEAA401A
    BC91C339687A45BF
    D2B06542439C4948
    400AF79DD3C64D5A
    C244061C86A64B01
    6E1B8B292E944D0D
    354131281E244BD3
    A11B629F8F97427F
  1. ddn128

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

    31 дек 2015
    507
    232
    Мужской
    Собственно, чтобы не втыкать мильёны строк с 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
    507
    232
    Мужской
    не хотит :(

    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
    507
    232
    Мужской
    Перед
    private $botAlexa = ...

    263 строка
     
  6. Art

    Art Участник

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

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