Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • 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
     
    defek7
    Guest
    #1
    0
    14.07.2006 18:17:00
    У меня возникли проблемы с отправкой информации для входа обратно на устройство MT hotspot. Я настроил перенаправление на свой внешний сервер. В части формы HTML я пробовал: action=“ http://hotspotrouter/login ”. Это только перенаправило меня обратно на внешнюю страницу, поэтому я решил реализовать собственную автоматическую страницу входа, используя код из оригинального login.html на устройстве MT. По какой-то причине мои значения неправильно обрабатываются MT. Чтобы протестировать это, на моей автоматической странице входа я использовал: и я получаю текстовое поле со словом ‘$(username)’'. Я также пробовал разные варианты, такие как <?=$_POST['username']?>, $username, %username%… я не очень опытен в HTML, поэтому не уверен, что не так. Использует ли Mikrotik другой синтаксис для получения отправленных значений? Кстати, я прочитал руководство по перенаправлению на внешний сервер и обратно на вход. Я получаю то же самое, он отправляет меня обратно на внешний сервер. Спасибо, ребята! -Jonathan
     
     
     
    bjohns
    Guest
    #2
    0
    15.07.2006 11:03:00
    Не уверен, что происходит, нужно убедиться, что все настроено между клиентом и NAS. Вот что я использую, это очень похоже на то, что в инструкции:

    Server IP: 2.2.2.2
    NAS IP (клиентская сторона/hotspot): 1.1.1.1

    На MTRouter:

    <html>
    <title>...</title>
    <body>
    <form name="redirect" action="https://2.2.2.2/login.cgi" method="post">
    <input type="hidden" name="mac" value="$(mac)">
    <input type="hidden" name="ip" value="$(ip)">
    <input type="hidden" name="hostname" value="$(hostname)">
    <input type="hidden" name="user" value="$(username)">
    <input type="hidden" name="link-login" value="$(link-login)">
    <input type="hidden" name="link-orig" value="$(link-orig)">
    <input type="hidden" name="error" value="$(error)">
    </form>
    <script language="JavaScript">
    <!--
    document.redirect.submit();
    //-->
    </script>
    </body>
    </html>

    Значения подставляются реальными значениями NAS и отправляются на внешний сервер. Скрипт на сервере использует предоставленные значения для различных целей и затем отображает следующее для пользователя, чтобы он отправил (можно автоматически отправлять, как указано выше, на ваше усмотрение).

    На внешнем сервере (загружаемом браузером клиента):

    <form name="login" action="https://1.1.1.1/login" method="post">
    <input type="hidden" name="user" value="username">
    <input type="hidden" name="password" value="password">
    <input type="hidden" name="mac" value="00:00:00:00:00:00">
    <input type="hidden" name="popup" value="false">
    <input type="hidden" name="ssl-login" value="yes">
    <input type="hidden" name="dst" value="http://www.google.com.au">
    <input type="submit" name="login" value="Continue">
     
     
     
    defek7
    Guest
    #3
    0
    17.07.2006 04:58:00
    Ну вот, когда я использую этот внешний скрипт, который запрещает NAS (клиенту) перенаправляться обратно на внешний сервер... Скрипт перенаправления, о котором я говорил выше, называется login.html, верно? Если это так, мне просто нужно заставить пользователей, не прошедших аутентификацию в точке доступа, перенаправляться на redirect.html, а оставить login.html без изменений? Я просто не очень понимаю эту процедуру.
     
     
     
    bjohns
    Guest
    #4
    0
    17.07.2006 05:32:00
    Чтобы войти в аккаунт клиента, нужно заставить его отправить свои учетные данные в скрипт 'login' на NAS. Если это поможет понять, можешь называть его login.cgi тоже. Например: <form name="login" action="https://hotspot_address/login.cgi" method="post">
    <input type="hidden" name="user" value="username">
    <input type="hidden" name="password" value="password">
    <input type="submit" name="login" value="Continue"> Внешний сервер не общается напрямую с роутером никаким образом, кроме RADIUS. Он делает все через браузер клиента.
     
     
     
    defek7
    Guest
    #5
    0
    17.07.2006 06:16:00
    Окей, просто чтобы уточнить. На моём устройстве мобильной сети (хотспоте) скрипт перенаправления сохранён как login.html. А на внешнем сервере у меня скрипт, который ты указал, сохранён как login.cgi. Значит, процесс такой: Пользователь открывает веб-браузер. Пользователь перенаправляется на внешний логин. Пользователь вводит информацию и нажимает «Отправить». Имя пользователя и пароль отправляются на устройство мобильной сети? Затем устройство мобильной сети делает своё дело с радиусом. Весь шаг 14 какой-то неясный. Кстати, у меня это работает без внешнего сервера. Я просто не уверен, как устройство мобильной сети получает значения, которые отправляются ему со страницы внешнего логина. Когда я пробовал это, устройство мобильной сети не знало, что это за значения. Или, по крайней мере, я не знал синтаксис для получения отправленных значений. Кроме того, у меня есть версия login.html, которая автоматически отправляет себя с жёстко заданным пользователем/паролем. Когда я переименовываю этот файл, скажем, в autologin.html и создаю перенаправление в старом login.html, он не логинится. Он выдаёт ошибку «document.sendin.username» — null или не объект. Я немного программировал, и это кажется мне очень странным… Вот код, вероятно, некрасивый. 8^) просто учусь работать с HTML и JavaScript.

    ```html
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <title>mikrotik hotspot > login</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="pragma" content="no-cache" />
    <meta http-equiv="expires" content="-1" />
    <style>
    body {color: #737373; font-size: 10px; font-family: verdana;}

    textarea,input,select {
    background-color: #FDFBFB;
    border: 1px solid #BBBBBB;
    padding: 2px;
    margin: 1px;
    font-size: 14px;
    color: #808080;
    }

    a, a:link, a:visited, a:active { color: #AAAAAA; text-decoration: none; font-size: 10px; }
    a:hover { border-bottom: 1px dotted #c1c1c1; color: #AAAAAA; }
    img {border: none;}
    td { font-size: 14px; color: #7A7A7A; }
    </style>

    </head>

    <body>
    $(if chap-id)
    <form name="sendin" action="$(link-login-only)" method="post">
    <input type="hidden" name="username" />
    <input type="hidden" name="password" />
    <input type="hidden" name="dst" value="$(link-orig)" />
    <input type="hidden" name="popup" value="true" />
    </form>

    <script src="/md5.js"></script>
    <script>
    <!--
       function doLogin() {
    document.sendin.username.value = document.login.username.value;
    document.sendin.password.value = hexMD5('$(chap-id)' + document.login.password.value + '$(chap-challenge)');
    document.sendin.submit();
    return false;
       }
    //-->
    </script>
    $(endif)

    <div align="center">
    Latviski
    </div>


    <div class="notice" style="color: #c1c1c1; font-size: 9px">Please log on to use the mikrotik hotspot service<br />$(if trial == 'yes')Free trial available, click here.$(endif)</div><br />

    <form name="login" action="$(link-login-only)" method="get"
       $(if chap-id) onSubmit="return doLogin()" $(endif)>
    <input type="hidden" name="dst" value="$(link-orig)" />
    <input type="hidden" name="popup" value="true" />

    login<input style="width: 80px" name="username" type="text" value="admin"/>
    password<input style="width: 80px" name="password" type="password"/>
     <input type="submit" value="OK" />
    <script>
    <!--
    document.sendin.username.value = document.login.username.value;
    document.sendin.password.value = hexMD5('$(chap-id)' + document.login.password.value + '$(chap-challenge)');
    document.sendin.submit();
    //-->
    </script>

    </form>

    <br /><div style="color: #c1c1c1; font-size: 9px">Powered by mikrotik routeros © 2005 mikrotik</div>
    $(if error)<br /><div style="color: #FF8080; font-size: 9px">$(error)</div>$(endif)
    </body>
    </html> В общем, спасибо за помощь, bjohns.
     
     
     
    bjohns
    Guest
    #6
    0
    17.07.2006 07:02:00
    Вот картинка, которую я быстро набросал, чтобы проиллюстрировать процесс. Код удаленного сервера, который я прислал выше, – это не вся история, там больше нюансов: по сути, нужно получить значения, переданные с Router'а, и собрать форму, по которой пользователь сможет войти в систему. Возможно, я даже быстро напишу какой-нибудь "грязный" perl cgi скрипт, чтобы показать, как это работает.
     
     
     
    defek7
    Guest
    #7
    0
    17.07.2006 12:27:00
    В общем, насчет внешнего кода я вроде бы разобрался. У меня есть рабочий login.php на внешнем сервере, который получает значения из переадресации с помощью <?=_POST['values of whatever']?>. Вот только когда я пытаюсь отправить информацию обратно в MT, не получается получить значения или жестко закодировать их на моей странице, которая автоматически отправляет данные. И ещё, Mikrotik поддерживает PHP-скрипты? Спасибо ещё раз.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры