Автор Тема: Авторизация на сайтах  (Прочитано 55816 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Dima$ [?]

  • Новичок
  • *
  • Сообщений: 2
  • Репутация: 1
    • Награды
Авторизация на сайтах
« Создано: Апрель 21, 2011, 10:55:09 »
Данная тема закреплена, прошу обсуждать здесь всё что касается авторизации на сайтах.

Похожие темы:
Автоматический логин (вход) на сайт
[Автоматизация]  Вход на сайт через GUI интерфейс

CreatoR

Текст сообщения автора темы:

Доброго времени суток. Помогите пройти авторизацию на сайте ссылка:http://mlgame.ru/ [nonactive]. IE.au3 форму не находит никак...
« Последнее редактирование: Июнь 29, 2012, 19:07:30 от CreatoR »

Русское сообщество AutoIt

Авторизация на сайтах
« Отправлен: Апрель 21, 2011, 10:55:09 »

Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7790
  • Репутация: 2313
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Авторизация на сайтах
« Ответ #1, Отправлен: Апрель 21, 2011, 11:27:53 »
Dima$
На форуме куча примеров, учитесь пользоваться поиском.
Код: AutoIt [Выделить]
#include <IE.au3>

$sLogin = 'Login'
$sPass = 'Pass'
$sUrl = 'http://mlgame.ru/'

$oIE = _IECreate($sUrl)
$oLogin = _IEGetObjById($oIE, 'username')
$oPass = _IEGetObjByName($oIE, 'password')
$oCheck = _IEGetObjById($oIE, 'rememberMe')
$oButton = _IEGetObjById($oIE, 'loginButton')

_IEFormElementSetValue($oLogin, $sLogin)
_IEFormElementSetValue($oPass, $sPass)
_IEAction($oCheck, 'click')
_IEAction($oButton, 'click')
_IELoadWait($oIE)


Онлайн joiner [?]

  • Расмус-бродяга
  • AutoIt Гуру
  • *****
  • Сообщений: 2468
  • Репутация: 424
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Авторизация на сайтах
« Ответ #2, Отправлен: Апрель 21, 2011, 15:31:19 »
Были времена, когда солнце было ярче, трава зеленее, а водка сорокоградуснее

Оффлайн Kreol2013 [?]

  • Новичок
  • *
  • Сообщений: 9
  • Репутация: 0
    • Награды
Re: Авторизация на сайтах
« Ответ #3, Отправлен: Июнь 29, 2012, 18:24:33 »
Чтоб не плодить лишних тем.
Прошу помочь с авторизацией на сайтах
ссылка:https://admin.advertise.com/ads-webapp/login/loginPage.do [nonactive]
ссылка:https://7search.com/advertisers/ [nonactive]
Попробовал самостоятельно, но не так все просто(.
Автоматизация нужна для парсинга цен.
Буду очень признателен.

Русское сообщество AutoIt

Re: Авторизация на сайтах
« Ответ #3 Отправлен: Июнь 29, 2012, 18:24:33 »

Оффлайн Pupsik [?]

  • Новичок
  • *
  • Сообщений: 2
  • Репутация: 0
  • Пол: Мужской
    • Награды
Написал скрипт для авторизации сайта через IE, всё отлично идёт, остаётся только нажать "Войти", но не получается. Использовал такие функции от безысходности как:
_IEFormElementGetObjByName
_IEFormElementGetValue
_IEFormElementGetCollection
_IEFormGetObjByName
_IEFormGetCollection
_IELinkClickByText
_IEAction
Возможно это потому что я не правильно определяю кнопку.
Сам код кнопки
<input type="submit" value="Войти" class="btn btn-success"/>Код формы
<form action="" method="post">Нет ни имени, ни id.
Курил оф. справку, курил справку в программе, курил ваш форум, курил гугл.
« Последнее редактирование: Август 09, 2013, 18:20:43 от Pupsik »

Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7790
  • Репутация: 2313
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Авторизация на сайтах
« Ответ #5, Отправлен: Август 09, 2013, 19:08:34 »
Pupsik,
Попробуйте сделать так.
Код: AutoIt [Выделить]
#include <IE.au3>

;...
$oInputs = _IETagNameGetCollection ($oForm, 'input');$oForm получен ранее
For $oInput In $oInputs
    If $oInput.type = 'submit' And $oInput.value = 'Войти' Then
        _IEAction($oInput, 'click')
        _IELoadWait($oIE)
        ExitLoop
    EndIf
Next
;...


Оффлайн Pupsik [?]

  • Новичок
  • *
  • Сообщений: 2
  • Репутация: 0
  • Пол: Мужской
    • Награды
Re: Авторизация на сайтах
« Ответ #6, Отправлен: Август 09, 2013, 19:35:31 »
Благодарю, всё отлично  :ok:

Оффлайн inververs [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 2135
  • Репутация: 459
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Авторизация на сайтах
« Ответ #7, Отправлен: Декабрь 23, 2013, 19:50:21 »
Авторизация на autoit-script.ru

Код: AutoIt [Выделить]
#include <Crypt.au3>
Login('OgoГоша', 'DcPlusplus123')
Exit

Func Login($vUserName, $vUserPass)
    Local $vSite = 'http://autoit-script.ru/'

    ;Получаем HTML код
    Local $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
    $oHTTP.Open("GET", $vSite)
    $oHTTP.Send()

    Local $vData = $oHTTP.Responsetext

    ;Достаем регулярными выражениями sid. Он понадобиться для шифрования.
    Local $vTemp = StringRegExp($vData, 'hashLoginPassword.*?([[:xdigit:]]{32})', 1)
    If Not IsArray($vTemp) Then Return SetError(1, 0, 0) ;Регулярка не сработала. Нет смысла продолжать, поэтому выходим.
    Local $vSid = $vTemp[0] ;Получили sid

    ;Достаем регулярными выражениями PHPSESSID. Для гостей он выдается временный.
    $vTemp = StringRegExp($vData, 'PHPSESSID=(\w+)', 1)
    If Not IsArray($vTemp) Then Return SetError(2, 0, 0) ;Регулярка не сработала. Нет смысла продолжать, поэтому выходим.
    Local $vSesSid = $vTemp[0] ;Получили PHPSESSID.

    ;Т.к актуальный пароль на сервер не передается он хешируется специальной функцией.
    Local $vHash = sha1(sha1(strtolower(_Encoding_ANSIToUTF8($vUserName)) & _Encoding_ANSIToUTF8($vUserPass)) & $vSid);

    ;Получили хэш-пароль. Подготовим все данные для отправки.
    Local $vPostData = 'user=' & $vUserName & '&passwrd=&cookielength=-1&hash_passwrd=' & $vHash

    ;Отправляем POST запрос на авторизацию
    $oHTTP.Open("POST", $vSite & 'index.php?PHPSESSID=' & $vSesSid & '&action=login2', False)
    $oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
    $oHTTP.Send($vPostData)

    ;Получаем главную страницу
    $oHTTP.Open("GET", $vSite)
    $oHTTP.Send()
    Local $HTMLSource = $oHTTP.Responsetext

    Local $aName = StringRegExp($HTMLSource, '<li id="name".*?</li>', 1)
    If Not IsArray($aName) Then
        ConsoleWrite($HTMLSource & @LF)
    Else
        ConsoleWrite(StringRegExpReplace($aName[0], '<.*?>', '') & @LF)
    EndIf
EndFunc   ;==>Login

Func _Encoding_ANSIToUTF8($sString)
    Return BinaryToString(StringToBinary($sString, 4))
EndFunc   ;==>_Encoding_ANSIToUTF8

Func sha1($vData) ;//PHP стиль (изменено stl)
    Return StringLower(StringSplit(_Crypt_HashData($vData, $CALG_SHA1), 2))
EndFunc   ;==>sha1

Func strtolower($sData)
    If Not $sData Or StringIsLower($sData) Then Return $sData
    Local $vDatas = StringSplit($sData, '', 2), $vRet
    For $vData In $vDatas
        If StringRegExp($vData, '[A-Z]') Then
            $vRet &= StringLower($vData)
        Else
            $vRet &= $vData
        EndIf
    Next
    Return $vRet
EndFunc   ;==>strtolower


Русское сообщество AutoIt

Re: Авторизация на сайтах
« Ответ #7 Отправлен: Декабрь 23, 2013, 19:50:21 »

Оффлайн Koekaker [?]

  • Новичок
  • *
  • Сообщений: 3
  • Репутация: 0
  • Пол: Мужской
    • Награды
Re: Авторизация на сайтах
« Ответ #8, Отправлен: Январь 16, 2014, 11:08:59 »
Уважаемые знатоки!
Если возможно состряпайте некомпилированный скрипт для захода IE10
на ссылка:http://mols.roszdravnadzor.ru/?type=logon&redirect_params= [nonactive]
У меня ничего не получилось (переделанные чужие готовые решения у меня не работали).
Логин и пароль я сам подставлю.
Спасибо!

Оффлайн MaximK [?]

  • Новичок
  • *
  • Сообщений: 33
  • Репутация: 5
  • Пол: Мужской
    • Награды
Re: Авторизация на сайтах
« Ответ #9, Отправлен: Январь 16, 2014, 12:43:53 »
Возможно. Дайте логин и пароль. Лень регистрироваться.

Оффлайн Koekaker [?]

  • Новичок
  • *
  • Сообщений: 3
  • Репутация: 0
  • Пол: Мужской
    • Награды
Re: Авторизация на сайтах
« Ответ #10, Отправлен: Январь 16, 2014, 12:51:24 »
Рад бы, но... только логин (asclepius). Зарегистрировано на организацию. Попробую сделать акк понарошечный.


Добавлено: Январь 16, 2014, 13:03:03
Впрочем проверить факт подстановки логина и пароля можно и не зная пароля. Если ввести произвольный пароль, то появится сообщение о некорректности. А в поле логина будет виден искомый логин. Спасибо за участие!
« Последнее редактирование: Январь 16, 2014, 13:03:03 от Koekaker, Причина: Объединение сообщений »

Оффлайн MaximK [?]

  • Новичок
  • *
  • Сообщений: 33
  • Репутация: 5
  • Пол: Мужской
    • Награды
Re: Авторизация на сайтах
« Ответ #11, Отправлен: Январь 16, 2014, 13:29:54 »
Ошибку выдает

Код: AutoIt [Выделить]
$url="http://mols.roszdravnadzor.ru/?type=logon&redirect_params="
$login="login"
$pass="password"

#include<IE.au3>
$ie=_IECreate($url)
$logEl=_IEGetObjById($ie,"login")
_IEFormElementSetValue($logEl,$login)
$passEl=_IEGetObjById($ie,"password")
_IEFormElementSetValue($passEl,$pass)

_IELinkClickByText($ie,"Войти в систему")


Оффлайн Koekaker [?]

  • Новичок
  • *
  • Сообщений: 3
  • Репутация: 0
  • Пол: Мужской
    • Награды
Re: Авторизация на сайтах
« Ответ #12, Отправлен: Январь 16, 2014, 13:37:43 »
Вот спасибо!! А то я уже на nircmdс насел. Там почему-то пароль содержащий спецсимволы не вставлялся как надо.

Оффлайн fyviffitoffo [?]

  • Сообщений: 36
  • Репутация: -1
  • Пол: Женский
    • Награды
Re: Авторизация на сайтах
« Ответ #13, Отправлен: Июнь 12, 2014, 13:48:51 »
Помогите пожалуйста с авторизацией. Проблема в том, что никак не удается получить объект формы input. hash при обновлении страницы меняется.

<form action="/login" method="POST">
<button class="btn-link">
<img src="/image/logo.png" width="64">
<h4>Вход</h4>
</button>
<input type="hidden" id="hash" name="hash" value="8e1bb4340ea7908d850a03a64c11d5ae">
</form>

Код: AutoIt [Выделить]
$oInputs = _IETagNameGetCollection($oIE, "input")
$oForm = _IEFormGetObjByName($oInputs, "hash")
$hash = _IEFormElementGetValue($oForm)
For $oInput In $oInputs
    If $oInput.type = "hidden" And $oInput.value = $hash Then
        _IEAction($oInput, "click")
        _IELoadWait($oIE)
        ExitLoop
    EndIf
Next


Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7790
  • Репутация: 2313
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Авторизация на сайтах
« Ответ #14, Отправлен: Июнь 12, 2014, 14:34:36 »
fyviffitoffo,
(нажмите для показа/скрытия)
(нажмите для показа/скрытия)
(нажмите для показа/скрытия)
« Последнее редактирование: Июнь 12, 2014, 14:51:17 от madmasles »

Русское сообщество AutoIt

Re: Авторизация на сайтах
« Ответ #14 Отправлен: Июнь 12, 2014, 14:34:36 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
2 Ответов
4109 Просмотров
Последний ответ Апрель 11, 2011, 22:17:33
от Sergey2210
0 Ответов
2677 Просмотров
Последний ответ Ноябрь 20, 2011, 22:13:27
от madmasles
19 Ответов
9238 Просмотров
Последний ответ Декабрь 19, 2014, 17:49:49
от CreatoR
0 Ответов
2768 Просмотров
Последний ответ Июнь 30, 2012, 13:45:14
от Kreol2013
1 Ответов
1965 Просмотров
Последний ответ Июнь 28, 2013, 09:40:04
от madmasles
1 Ответов
2102 Просмотров
Последний ответ Июль 01, 2013, 09:31:57
от C2H5OH
13 Ответов
4195 Просмотров
Последний ответ Февраль 12, 2014, 08:55:54
от madmasles
5 Ответов
1679 Просмотров
Последний ответ Март 12, 2015, 12:57:13
от edyapd
2 Ответов
1176 Просмотров
Последний ответ Август 05, 2015, 13:11:38
от ckret
3 Ответов
1635 Просмотров
Последний ответ Март 11, 2017, 10:31:29
от DOMINANT