|
0 / 0 / 0
Регистрация: 03.12.2014
Сообщений: 19
|
||||||
Обращение к переменным и функциям страницы внутри iframe (скрипт для роутера)31.08.2016, 16:36. Показов 2334. Ответов 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
Обращение к функциям Диспетчера устройств Обращение к функциям и многомерные массивы
Как написать скрипт для автоматического входа на сайт роутера?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|