[Помощь] Авторизация через сайт на AHK
|
|
Macbox1337 |
Дата: Суббота, 25.03.2017, 18:02 | Сообщение # 1
|
Новичок
Сообщений: 16
Статус: Offline
|
Добрый день/вечер,у меня такая проблема,недавно начал изучать AHK и решил попробовать написать авторизацию.Так вот,у меня на сайте лежит PHP скрипт авторизации.Мне нужно сделать форму в которой будут два поля для ввода и одна кнопка,чтобы после нажатия поля для ввода взялись в переменную,а после нажатия на кнопку эти данные отправились на сервер.
|
|
|
|
[CM]Coockie |
Дата: Четверг, 06.04.2017, 22:24 | Сообщение # 2
|
developer
Сообщений: 67
Статус: Offline
|
php:
Код $login = $_GET['login']; $password = $_GET['password']; if (empty($login)) die('error'); // и так далее
ahk:
Код url(url) { ComObjError(false) whr := ComObjCreate("WinHttp.WinHttpRequest.5.1") whr.Open("GET", url, false) whr.SetRequestHeader("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)") whr.SetRequestHeader("Referer", url) whr.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded") whr.Send() whr.WaitForResponse() return whr.ResponseText } request := curl("http://you-domain.ru/file.php?login=" login "&password=" pasword") MsgBox, % request
|
|
|
|
Macbox1337 |
Дата: Суббота, 08.04.2017, 10:08 | Сообщение # 3
|
Новичок
Сообщений: 16
Статус: Offline
|
Цитата [CM]Coockie (  ) php: Код
$login = $_GET['login']; $password = $_GET['password']; if (empty($login)) die('error'); // и так далее
ahk: Код
url(url) { ComObjError(false) whr := ComObjCreate("WinHttp.WinHttpRequest.5.1") whr.Open("GET", url, false) whr.SetRequestHeader("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)") whr.SetRequestHeader("Referer", url) whr.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded") whr.Send() whr.WaitForResponse() return whr.ResponseText } request := curl("http://you-domain.ru/file.php?login=" login "&password=" pasword") MsgBox, % request Что то не так с АХК
|
|
|
|
Godarck |
Дата: Суббота, 08.04.2017, 11:41 | Сообщение # 4
|
AHK Скриптер
Сообщений: 252
Статус: Offline
|
p.s. Отказался помогать
Бесплатный и новый бот рыбалки для GTA V RP GunList для GTA V RP - писать в ЛС Fake Time для GTA V RP
Сообщение отредактировал Godarck - Суббота, 08.04.2017, 12:10 |
|
|
|
[CM]Coockie |
Дата: Суббота, 08.04.2017, 14:17 | Сообщение # 5
|
developer
Сообщений: 67
Статус: Offline
|
Macbox1337, дек это пример запроса, сам думай
|
|
|
|
Kaktus007 |
Дата: Суббота, 08.04.2017, 15:25 | Сообщение # 6
|
Боец
Сообщений: 70
Статус: Offline
|
Ну так и в чём проблема? 1. Открываешь сайт скрипт-кодинг.ком и изучаешь переведённую документацию по созданию GUI. 2. Создаёшь примитивнейшую хрень с двумя полями и кнопкой. 3. По нажатию кнопки реализуешь отсылку введённого в эти поля на сервер. Отсылку хоть через urldownloadtofile get-запросом. 4. В Php ловишь эту хрень (код дали выше).
Дополнено позже:
Код ; ahk #SingleInstance force
Gui, -SysMenu Gui, Add, Text,, Логин Gui, Add, Edit, vLogin Gui, Add, Text,, Пароль Gui, Add, Edit, Password vPassword Gui, Add, Button, gGo, Авторизироваться Gui, show,, Хрень return
go: Gui, Submit if ( (!Login) or (!Password) ) { MsgBox, Вы не заполнили поля. reload } url = http://твой.сайт/твойскрипт.php?login=%Login%&pass=%Password% UrlDownloadToFile, %url%, %A_Temp%/tempahk.txt FileRead, check, %A_Temp%/tempahk.txt FileDelete, %A_Temp%/tempahk.txt if (check="sucess") Msgbox, Авторзация пройдена. else Msgbox, Авторзация не пройдена. return
Код <?php #php if ( (!$_GET['login']) or (!$_GET['pass']) ) { echo "fall"; exit; } else echo "sucess";
Зачем я это написал?!
Сообщение отредактировал Kaktus007 - Суббота, 08.04.2017, 15:52 |
|
|
|
[CM]Coockie |
Дата: Среда, 12.04.2017, 11:05 | Сообщение # 7
|
developer
Сообщений: 67
Статус: Offline
|
Kaktus007, зачем делать проверку в самом скрипте, когда это можно сделать в php?) В АХК можно обойти же всю защиту
|
|
|
|
Kaktus007 |
Дата: Среда, 12.04.2017, 11:20 | Сообщение # 8
|
Боец
Сообщений: 70
Статус: Offline
|
В данном случае - исключительно для наглядности автору темы. На практике же: 1. Все защищаемые процессы скрипта должны выноситься на сервер, а сам ахк должен получать уже только готовый ответ и тупо выводить его на экран; иначе да, "защиту" можно просто выпилить из скрипта после декомпиляции; Но такой способ имеет смысл применять только в скриптах, которые оперируют реквизитами доступа (логины/пароли/токены) и непубличными документами (таблицы гугла/БД). 2. В большинстве случаев используют недо-защиту. Она вполне эффективна против дурачка, который абсолютно ничего не понимает в ахк, и которому ты хочешь удалить скрипт в случае не-оплаты работы. Здесь надо трезво оценивать риски.
Но в данном случае автор спрашивал именно про авторищационный скрипт, а не про "сделай на Php, выведи на AHK".
Сообщение отредактировал Kaktus007 - Среда, 12.04.2017, 11:29 |
|
|
|
[CM]Coockie |
Дата: Пятница, 14.04.2017, 14:17 | Сообщение # 9
|
developer
Сообщений: 67
Статус: Offline
|
Kaktus007, любой уважающий себя автор не станет делать коннект к БД прям с АХК) Да и как ты сделаешь авторизацию на AHK без PHP?)
|
|
|
|
Kaktus007 |
Дата: Пятница, 14.04.2017, 15:18 | Сообщение # 10
|
Боец
Сообщений: 70
Статус: Offline
|
[CM]Coockie, про авторизацию без php я и не писал ничего.
Честно говоря, я вообще не понимаю о чём спор . 1. Существует метод, когда вся работа выполняется внутри ахк-скрипта, если от php получен "разрешающий" ответ. Этот метод, понятно, легко обойти, посто вырезав часть кода. 2. Существует метод, когда вся работа выполняется на сервере, а ахк, в случае успешной авторизации, только получает готовые результаты.
Оба этих метода имеют право на жизнь, т.к. применяются в разных ситуациях. Проверка ответа сервера в самом скрипте нужна в обоих случаях. Хотябы для того, чтобы при отказе в доступе, уведомить об этом юзера.
О чём тут разговор?
Сообщение отредактировал Kaktus007 - Пятница, 14.04.2017, 15:20 |
|
|
|
[CM]Coockie |
Дата: Пятница, 14.04.2017, 16:27 | Сообщение # 11
|
developer
Сообщений: 67
Статус: Offline
|
Kaktus007, честно говоря, я не знаю, зачем ты переписываешь статьи из учебников, я прекрасно знаю технологию передачи информации на сервера и ответы. Он просил показать, как авторизовываться, я ему дал код, в чем проблема то?
|
|
|
|
Kaktus007 |
Дата: Пятница, 14.04.2017, 17:16 | Сообщение # 12
|
Боец
Сообщений: 70
Статус: Offline
|
[CM]Coockie, я как бы тоже дал код. Ты его прокомментировал и получил ответ, объясняющий, для чего нужна проверка в скрипте.
Всё, /me испарился из темы.
|
|
|
|