|
0 / 0 / 0
Регистрация: 03.12.2014
Сообщений: 19
|
||||||
Обращение к переменным и функциям страницы внутри iframe (скрипт для роутера)31.08.2016, 16:36. Показов 2314. Ответов 24
Метки нет (Все метки)
Всем хорошего дня, сразу приведу общую идею того, что я хочу получить.
Есть вебинтерфейс локального роутера по стандартному адресу http://192.168.0.1/ . У меня есть логин и пароль от этого роутера. Я хочу дать другому человеку(он не шарит, файл не додумается открыть посмотреть код) возможность изменять настройки роутера только в одной вкладке (фильтр мак адресов), не давая пароля и не позволяя заходить в другие функции. В роутере изначально такого не предусмотрено. Поэтому я предполагаю алгоритм решения такой: юзер открывает файлик (хтмл например)(скрипт логинит и переходит на страницу, затем логаутится, причем с другой страницы) -> попадает на страницу мак фильтров -> вводит в поля мак адреса -> нажимает кнопку сохранить (скрипт снова логинится, вызывает javascript функцию сохранения на странице роутера, логаут). По отдельности, если я запускаю поочередно команды скрипта из адресной строки или режиме отладки в хроме, все работает. Когда же я пишу целиковый файлик, и запускаю его - скрипт не может записать в переменную логина и пароля данные. Отладчик хрома пишет такую ошибку: savefilters.html:7 Uncaught TypeError: Cannot read property 'LOGIN_USER' of null. Для проверки того, что форма успевает догрузиться я вывел выполнение скрипта логина на кнопку в основной форме. Открываю файлик - он загружается, нажимаю кнопку - и та же ошибка. Кто подскажет, в чем проблема, как ее решить? Я вроде читал что у js что-то вроде защиты от выполнения скриптов на другом домене, но путь то должен быть. Например имитация ввода пользователем скрипта в адресную строку. Возможно можно это сделать используя php (я его не знаю, как впрочем и js, но с js я разобрался более мене за пару дней, опыт программирования на других языках есть). P.s. Можно ли пхп скрипт включить в тот же хтмл файлик, который я запускаю с рабочего стола? и как? Скрипт самого логина (при вводе скрипта js на странице роутера через адресную строку или отладчик хрома - работает).
http://storage4.static.itmages... 557651.jpg http://storage1.static.itmages... b04eb1.jpg
0
|
||||||
| 31.08.2016, 16:36 | |
|
Ответы с готовыми решениями:
24
Обращение к переменным одного метода из другого внутри класса Уменьшить размер iframe щелкнув по ссылке внутри iframe обращение к подструктурам и их функциям |
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|
| 31.08.2016, 17:54 | |
|
почитайте про правило ограничения домена и остыньте
ваша страница (с тегом <iframe> -- она с локалхоста, а в <iframe> грузится страница с роутера -- в итоге имеем два документа с разными доменными именами, а в этом случае программный доступ из одного документа в другой запрещён!
0
|
|
|
0 / 0 / 0
Регистрация: 03.12.2014
Сообщений: 19
|
||
| 01.09.2016, 09:48 [ТС] | ||
|
0
|
||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|
| 01.09.2016, 10:00 | |
|
Guapter, я вам дал для прочтения ссылку на правило ограничения домена
если бы вы материал по ссылке прочитали, то вопроса о "вообще любых методах" от вас не было зачем, интересно, приходить на форум с вопросами, если вы принципиально не читаете ответов?
0
|
|
|
38 / 38 / 11
Регистрация: 27.09.2014
Сообщений: 491
|
|
| 01.09.2016, 10:08 | |
|
Когда мне нужно было сделать перезагрузку роутера я написал программку под Windows, которая сама логиниться, заходит на нужную страничку...
Может стоит по такому пути пойти? Тогда точно юзер никуда не влезет..
0
|
|
|
0 / 0 / 0
Регистрация: 03.12.2014
Сообщений: 19
|
|||
| 01.09.2016, 11:10 [ТС] | |||
|
0
|
|||
|
38 / 38 / 11
Регистрация: 27.09.2014
Сообщений: 491
|
|
| 01.09.2016, 11:31 | |
|
Программа написана на Visual C++.
Работает по принципу браузера: делает html-запросы роутеру. Т.е. как вы пытались сделать на JS, только ничего юзер посмотреть не сможет - у него только программа и никаких текстовых файлов.
0
|
|
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|
| 01.09.2016, 12:05 | |
|
Guapter, на своём компе откройте http://192.168.0.1/login.php и просмотрите исходный код страницы
найдите там тег <form> и запишите на бумажке значения его атрибутов ACTION и METHOD затем внутри формы (между тегами <form> и </form>) найдите инпуты для ввода логина и пароля и запишите на бумажке два значения их атрибутов NAME -- NAME1 и NAME2 также на бумажке запишите известные вам ЛОГИН и ПАРОЛЬ --------------- после этого создайте в редакторе HTML-файл со следующим кодом: <style> html, body, iframe {height: 100%} iframe {width: 100%} form {display: none} </style> <iframe name="myIfr"></iframe> <form action="ACTION" method="METHOD" target="myIfr"> <input name="NAME1" value="ЛОГИН"> <input name=NAME2" value="ПАРОЛЬ"> </form> <script> document.forms [0].submit (); </script>
1
|
|
|
38 / 38 / 11
Регистрация: 27.09.2014
Сообщений: 491
|
||||||
| 01.09.2016, 12:11 | ||||||
|
kalabuni, не все роутеры такие "прямые"! Вот мой TL-MR3420 выдает такое, фрагмент:
1
|
||||||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
||
| 01.09.2016, 12:26 | ||
|
хотя бороться с примитивным "автологином" проще всего на сервере -- в программе, указанной в ACTION формы, проверять реферер: его с помощью HTML и JS никак не подделать
0
|
||
|
0 / 0 / 0
Регистрация: 03.12.2014
Сообщений: 19
|
|||||||||||
| 01.09.2016, 13:08 [ТС] | |||||||||||
|
Попробовал этот метод - не работает (не создает в iframe инпаты <input > ). Кстати при создании iframe - src= указывать? Я пробовал и без src и с ним. Пробовал полностью переписывать инпаты со страницы роутера - все равно не создаются. отредактированный код:
Вот что у моего роутера:
0
|
|||||||||||
|
38 / 38 / 11
Регистрация: 27.09.2014
Сообщений: 491
|
|
| 01.09.2016, 13:12 | |
|
нужен полный код странички
0
|
|
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
||
| 01.09.2016, 13:19 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 03.12.2014
Сообщений: 19
|
||||||
| 01.09.2016, 13:19 [ТС] | ||||||
|
полный код не влезает - больше 18к символов, разобью на части на 2 сообщения
Код страницы http://192.168.0.1/login.php первая часть: в основном функции и скрипты страницы Кликните здесь для просмотра всего текста
0
|
||||||
|
0 / 0 / 0
Регистрация: 03.12.2014
Сообщений: 19
|
|||||||
| 01.09.2016, 13:21 [ТС] | |||||||
|
вторая часть: все остальное
Кликните здесь для просмотра всего текста
Добавлено через 1 минуту http://192.168.0.1/login.php
0
|
|||||||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
||
| 01.09.2016, 13:24 | ||
|
что же вы сразу-то не написали? и как вы средствами js собирались каптчу вводить?
0
|
||
|
0 / 0 / 0
Регистрация: 03.12.2014
Сообщений: 19
|
||
| 01.09.2016, 13:34 [ТС] | ||
![]() Добавлено через 5 минут Данные при авторизации которые как я понял обрабатывает login.php (взял из хрома - средства разработчка, network) Request URL:http://192.168.0.1/login.php Request Method:POST Status Code:200 OK Remote Address:192.168.0.1:80 Response Headers view source Content-Type:text/html Date:Sat, 01 Jan 2000 02:22:09 GMT Server:Mathopd/1.5p6 Transfer-Encoding:chunked Request Headers view source Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Encoding:gzip, deflate Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4 Cache-Control:max-age=0 Connection:keep-alive Content-Length:187 Content-Type:application/x-www-form-urlencoded Host:192.168.0.1 Origin:http://192.168.0.1 Referer:http://192.168.0.1/login.php Upgrade-Insecure-Requests:1 User-Agent:Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Form Data view source view URL encoded ACTION_POST:LOGIN FILECODE: VERIFICATION_CODE: LOGIN_USER:admin LOGIN_PASSWD:1234 login: Авторизоваться VER_CODE:
0
|
||
|
38 / 38 / 11
Регистрация: 27.09.2014
Сообщений: 491
|
|||
| 01.09.2016, 13:37 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 03.12.2014
Сообщений: 19
|
|||
| 01.09.2016, 13:43 [ТС] | |||
|
Скрытые? Ну они отключены, и если применить джаваскрипт в адресной строке или режиме отладчика то все работает (авторизуется). Вот этот скрипт(я его уже приводил):
0
|
|||
|
38 / 38 / 11
Регистрация: 27.09.2014
Сообщений: 491
|
|
| 01.09.2016, 14:07 | |
|
0
|
|
| 01.09.2016, 14:07 | |
|
Помогаю со студенческими работами здесь
20
Обращение к функциям Диспетчера устройств Обращение к функциям и многомерные массивы
Как написать скрипт для автоматического входа на сайт роутера?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|