taravasya

Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Здравствуйте! Помогите пожалуйста спастись от суицида))) Есть точка доступа(ТД) с вэб-мордой. Есть задача раз в сутки генерировать новый пароль. Собственно с генерацией пароля и с его "вбивкой" в настройки ТД особых проблем не возникло... Код: @Echo Off set USER=admin set PWD=admin_password :: File to save password Set PassFile=wifi-password.txt :: Pass Lenght Set PassLenght=8 SetLocal EnableDelayedExpansion EnableExtensions Set TotalChars=62 Set CharSet=0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWQYZ :Loop Set /A Rnd=%TotalChars%*%Random%/32768 Set Pswd=!CharSet:~%Rnd%,1!%Pswd% Set /A PassLenght-=1 If %PassLenght% GTR 0 GoTo Loop echo Новый пароль сгенерирован echo.%Pswd%>"%PassFile%" findstr %Pswd% %PassFile% IF %ERRORLEVEL% == 0 (GOTO PASS_STORE_PASS) else (GOTO PASS_STORE_ERROR) : PASS_STORE_ERROR echo Почему то не удалось сохранить новый пароль в заданный файл. Проверьте его доступность и возможность для записи... PAUSE EXIT : PASS_STORE_PASS echo Пароль сохранён в: %PassFile% echo Пробую изменить пароль в настройках роутера... curl.exe -u "%USER%:%PWD%" "http://192.168.0.203/Forms/FormWep11bSetup?Auth=6&WPA_PassPhrase=%Pswd%&WPA_Cipler_Type=1&WPA_GroupKeyUpdateInterval=1800&WepType=1&Submit=Apply" IF %ERRORLEVEL% == 0 (GOTO PASS_CHANGE_PASS) else (GOTO PASS_CHANGE_ERROR) : PASS_CHANGE_ERROR echo Почему то не удалось поменять пароль в роутере. Проверьте включён ли он. PAUSE EXIT : PASS_CHANGE_PASS echo Всё прошло успешно. Выполняю перезагрузку устройства. PAUSE EXIT | Проблема возникла на стадии попытки перезагрузить ТД(это требуется для того, что-бы новый пароль вступил в силу). И проблема получилась странная... Если в метку :PASS_CHANGE_PASS добавить строчку: Код: curl.exe "%USER%:%PWD%" --silent "http://192.168.0.203/Forms/RESET_Switch" | то в ответ на последнюю возвращается это: Код: <html> <head> <title>Protected Object</title></head><body> <h1>Protected Object</h1>This object on the RomPager server is protected.<p>Return to <A HREF="">last page</A><p> </body></html> | И ладно бы я подумал, что ссылка не правильная... так нет же! Если эту строчку записать в отдельный bat, то он без вздоха перезагружает ТД. Если же её выполнять в одном батнике, вслед за отправкой формы с новым паролем, то не работает. В чём может быть затык? Стоит отметить что(хотя думаю это здесь ни при чём) если сохранять пароль через вэб-морду, то после нажатия на Apply, всплывает модальный alert "Перезагрузите устройство". Похожая "песня" звучит, если запустить два bat файла(в одном смена пароля, в другом перезагрузка), по очереди, с помощью php. Вот так, пароль меняется, но перезагрузки не происходит: Код: <?php exec('cmd /c d:\Webserver\photomir\pass\password_gen.time_free.bat'); echo file_get_contents('wifi-password.txt'); exec('cmd /c d:\Webserver\photomir\pass\reboot.bat'); ?> | А если сделать два php файла, запускающих каждый свой bat файл, и вызвать их по очереди, тогда пароль меняется и перезагрузка происходит. Похоже, дело где-то в сессиях/куках. Хотя никаких куков ни в том ни в другом действии не сохраняется... Но так или иначе, при "раздельном" запуске этих двух команд, проблем нет. При поочерёдном запуске в одной сессии, второе действие(перезагрузка), не происходит... | Всего записей: 252 | Зарегистр. 16-11-2007 | Отправлено: 01:57 08-12-2016 | Исправлено: taravasya, 03:03 08-12-2016 |
|