Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    RouterOS
    Смена пароля для пользователей точки доступа

    Смена пароля для пользователей точки доступа

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Смена пароля для пользователей точки доступа, RouterOS
     
    faogundele
    Guest
    #1
    0
    02.05.2018 14:15:00
    Я новичок в Mikrotik, мне нужен подробный пошаговый урок, как создать страницу, где пользователи hotspot смогут изменить свой пароль с помощью USER SELF FORM MANAGEMENT. Это очень срочно. Я нашёл этот код в интернете и создал скрипт с именем changepass.php, нажимая на кнопку «плюс» в Winbox в разделе system, затем script. Пожалуйста, кто-нибудь помогите. Я только что установил Mikrotik cloud.

    <?php
    use PEAR2\Net\RouterOS;
    require_once 'PEAR2/Autoload.php';

    $errors = array();

    try {
    // Укажите IP RouterOS, имя пользователя и пароль.
    $client = new RouterOS\Client('192.168.88.1', 'admin', 'password');

    $printRequest = new RouterOS\Request(
    '/ip hotspot active print .proplist=user',
    RouterOS\Query::where('address', $_SERVER['REMOTE_ADDR'])
    );
    $hotspotUsername = $client->sendSync($printRequest)->getProperty('user');
    } catch(Exception $e) {
    $errors[] = $e->getMessage();
    }

    if (isset($_POST['password']) && isset($_POST['password2'])) {
    if ($_POST['password'] !== $_POST['password2']) {
    $errors[] = 'Пароли не совпадают.';
    } elseif (empty($errors)) {
    // Вот тут самое интересное — меняем пароль
    $setRequest = new RouterOS\Request('/ip hotspot user set');
    $client($setRequest
    ->setArgument('numbers', $hotspotUsername)
    ->setArgument('password', $_POST['password'])
    );
    }
    }

    ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" “ http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd ”> Смена пароля hotspot

    #errors {background-color: darkred; color: white;}
    #success {background-color: darkgreen; color: white;} <?php if (!isset($hotspotUsername)) { ?> Извините, но сейчас мы не можем изменить ваш пароль.
    Попробуйте позже <?php } else { ?> ФОРМА смены пароля HOTSPOT Вы вошли как "<?php
    echo $hotspotUsername;
    ?>" <?php if(!empty($errors)) { ?> <?php foreach ($errors as $error) { ?> <?php echo $error; ?> <?php } ?> <?php } elseif (isset($_POST['password'])) { ?> Ваш пароль был изменён. <?php } ?> Новый пароль: Подтвердите новый пароль: <?php } ?>
     
     
     
    faogundele
    Guest
    #2
    0
    14.06.2018 20:12:00
    Пожалуйста, мне срочно нужна помощь. Я установил Ubuntu, Apache, PHP, MySQL, phpMyAdmin — всё протестировано и работает. Статический IP включён. У меня есть маршрутизатор Mikrotik Routerboard на архитектуре Tile. Я хочу обеспечить возможность самостоятельной смены пароля от хотспота пользователями, а также отправку syslog Mikrotik на внешний веб-сервер. Могу ли я использовать вышеуказанный PHP-скрипт, чтобы позволить пользователям самостоятельно менять пароль от хотспота? Нужно ли загружать учётные данные пользователей на веб-сервер перед тем, как это заработает, или мне использовать внешний PHP-скрипт для авторизации? Где будут храниться учетные данные пользователей?
     
     
     
    boen_robot
    Guest
    #3
    0
    15.06.2018 06:17:00
    Учётные данные пользователя hotspot остаются на роутере. Единственное, что нужно передать скрипту — это учётные данные пользователя RouterOS. Далее идея аналогична входу через терминал и выполнению команд на роутере… Только вместо того, чтобы вы вручную вводили команды, когда пользователи звонят или как-то иначе обращаются, PHP выполняет их автоматически при отправке формы.

    Вся схема такая: пользователи заходят на веб-страницу, вводят новый пароль, который хотят установить, затем PHP подключается к указанному роутеру с переданными учётными данными RouterOS и выполняет команду «set» для пароля текущего активного пользователя hotspot.
     
     
     
    faogundele
    Guest
    #4
    0
    15.06.2018 21:23:00
    Большое спасибо, я так и сделал. Я проверил phpinfo по URL, чтобы убедиться, что PHP работает правильно. Он показал установленную информацию PHP, то же самое с Apache. Однако когда я запускаю указанный скрипт в браузере через адресную строку, страница отображается пустой и белой. В чём может быть проблема или ошибка?
     
     
     
    boen_robot
    Guest
    #5
    0
    16.06.2018 21:08:00
    Есть несколько возможных причин. Чтобы сузить круг, нужно посмотреть сообщения об ошибках от PHP. Откройте php.ini и найдите строки «display_errors», «error_reporting», «error_log», и выставьте их так:

    display_errors = Off  
    log_errors = On  
    error_reporting = E_ALL | E_STRICT  
    error_log = "php_errors.log"  

    Затем можно снова открыть phpinfo(), чтобы убедиться, что настройки применились. После этого запустите файл заново и проверьте наличие файла php_errors.log в той же папке. Откройте его и посмотрите, что там написано. Чаще всего проблема в том, что нужно разрешить PHP и/или Apache делать исходящие соединения. Если PHP работает как модуль Apache, внесите Apache в белый список, а если PHP запускается как FCGI — добавьте в белый список «php-cgi».
     
     
     
    faogundele
    Guest
    #6
    0
    18.06.2018 12:22:00
    Большое спасибо. У меня есть два файла php.ini, которые я редактировал — это /var/www$ locate php.ini:

    /etc/php/7.0/apache2/php.ini  
    /etc/php/7.2/apache2/php.ini

    В верхней части вывода phpinfo показано, что я запускаю PHP как модуль Apache. Как разрешить исходящие соединения, используя белый список Apache?  

    Система: Linux nuc-ubuntu 4.4.0-128-generic #154-Ubuntu SMP Fri May 25 14:14:58 UTC 2018 i686  
    Дата сборки: 2 мая 2018 12:43:14  
    Server API: Apache 2.0 Handler  
    Поддержка виртуальных директорий: отключена  
    Путь к файлу конфигурации (php.ini): /etc/php/7.0/apache2  
    Загруженный файл конфигурации: /etc/php/7.0/apache2/php.ini  
    Папка для дополнительных .ini файлов: /etc/php/7.0/apache2/conf.d  

    Ниже вывод команды sudo tail -f /var/log/apache2/error.log:

    [Mon Jun 18 14:32:57.619324 2018] [:error] [pid 17550] [client 192.168.8.118:52272] PHP Warning: require_once(PEAR2/Autoload.php): не удалось открыть поток: Нет такого файла или каталога в /var/www/html/changepass.php на строке 5
    [Mon Jun 18 14:32:57.619413 2018] [:error] [pid 17550] [client 192.168.8.118:52272] PHP Fatal error: require_once(): Не удалось подключить обязательный файл ‘PEAR2/Autoload.php’ (include_path=‘.:/usr/share/php’) в /var/www/html/changepass.php на строке 5
     
     
     
    faogundele
    Guest
    #7
    0
    19.06.2018 14:46:00
    Всем привет, нужна срочная помощь. Как установить Pyrus, Pear2 и PEAR2/Autoload.php? Пожалуйста, помогите с пошаговой инструкцией. У меня уже установлено и протестировано: Ubuntu16.04, Apache2, php7.0 и php7.2, Pear. Перепробовал много разных гайдов в интернете, но ни один не сработал — постоянно возникают проблемы или ошибки при установке Pyrus, Pear2 и PEAR2/Autoload.php.
     
     
     
    boen_robot
    Guest
    #8
    0
    19.06.2018 17:32:00
    Самым быстрым способом будет скачать файл .phar и подключить его, вместо того чтобы пытаться установить PEAR или Pyrus. Либо можно установить composer, выполнить команду «composer require pear2/net_routeros:@beta» и подключить «vendor/autoload.php». Последняя версия API клиента недоступна через PEAR и Pyrus, потому что репозиторий на GitHub не синхронизирован с живым сайтом pear2.php.net (и, к сожалению, я не могу инициировать такую синхронизацию).
     
     
     
    faogundele
    Guest
    #9
    0
    20.06.2018 11:33:00
    Привет, boen_robot, вот лог ошибки после установки composer, что мне делать дальше. PHP Fatal error: require_once(): Не удалось открыть требуемый файл ‘vendor/autoload.php’ (include_path=‘.:/usr/share/php’) в /var/www/html/changepass.php на строке 5.

    Во-вторых, когда я выполняю команду sudo composer require pear2/net_routeros:* @beta, получаю следующее:  
    ./composer.json был создан  
    Загрузка репозиториев composer с информацией о пакетах  
    Обновление зависимостей (включая require-dev)  
    Ваши требования не могут быть разрешены в установочный набор пакетов.  
    Проблема 1  
    pear2/net_routeros 1.0.0b6 требует pear2/net_transmitter >=1.0.0b1 → доступно в версиях pear2/net_transmitter[1.0.0b1, 1.0.0b2, dev-master], но они конфликтуют с вашими требованиями или параметром minimum-stability.
    pear2/net_routeros 1.0.0b5 требует pear2/net_transmitter >=1.0.0a5 → доступно в версиях pear2/net_transmitter[1.0.0a5, 1.0.0b1, 1.0.0b2, dev-master], но они конфликтуют с вашими требованиями или minimum-stability.
    pear2/net_routeros 1.0.0b4 требует pear2/net_transmitter >=1.0.0a4 → доступно в версиях pear2/net_transmitter[1.0.0a4, 1.0.0a5, 1.0.0b1, 1.0.0b2, dev-master], но они конфликтуют с вашими требованиями или minimum-stability.
    Запрос на установку pear2/net_routeros * @beta → доступно в версиях pear2/net_routeros[1.0.0b4, 1.0.0b5, 1.0.0b6].
    Установка не удалась, удаление ./composer.json.

    Я в тупике, никак не продвигаюсь. Это надо срочно решить. Пожалуйста, нужна срочная помощь.
     
     
     
    boen_robot
    Guest
    #10
    0
    20.06.2018 14:45:00
    Выполните команду composer config minimum-stability beta, а затем снова запустите composer require pear2/net_routeros:@beta.
     
     
     
    faogundele
    Guest
    #11
    0
    21.06.2018 14:42:00
    [Чт 21 июня 2018 15:03:45.435480] [:error] [pid 17527] [client 192.168.0.2:33912] Фатальная ошибка PHP: Необработанная ошибка: класс ‘PEAR2\Net\RouterOS\Client’ не найден в /var/www/html/changepass.php на строке 12
    Трассировка стека:  
    #0 {main}  
    брошено в /var/www/html/changepass.php на строке 12

    [Чт 21 июня 2018 15:03:48.983596] [:error] [pid 17528] [client 192.168.0.2:33914] Фатальная ошибка PHP: Необработанная ошибка: класс ‘PEAR2\Net\RouterOS\Client’ не найден в /var/www/html/changepass.php на строке 12
    Трассировка стека:  
    #0 {main}  
    брошено в /var/www/html/changepass.php на строке 12

    [Чт 21 июня 2018 15:04:03.567555] [:error] [pid 17524] [client 192.168.0.2:33916] Скрипт ‘/var/www/html/slugify/changepass.php’ не найден или недоступен для статуса

    [Чт 21 июня 2018 15:04:15.048245] [:error] [pid 17525] [client 192.168.0.2:33918] Фатальная ошибка PHP: Необработанная ошибка: класс ‘PEAR2\Net\RouterOS\Client’ не найден в /var/www/html/changepass.php на строке 12
    Трассировка стека:  
    #0 {main}  
    брошено в /var/www/html/changepass.php на строке 12

    Ниже строка 12 из /var/www/html/changepass.php, на которую ссылаются ошибки:  
    $client = new RouterOS\Client(‘192.168.8.118’, ‘admin’, ‘password’);
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры