Автологин

Страницы: 1
RSS
Автологин
 
Сегодня озадачился автологином в QUIK и с удивлением обнаружил, что за пять лет существования запроса на эту фичу не было сделано штатного решения. Создан ряд сторонних скриптов и утилит, но меня это не очень радует. Во первых я QUIK запускаю в wine под linux, а в будущем положу его в облако. Решения, основанные на манипуляции окном стороннего приложения через Win API в таких средах могут быть ненадежными. Бинарники их закрыты. А скрипты потянут за собой необходимую для их запуска инфраструктуру. И вообще, держать запущенный процесс только ради того, чтобы детектировать появление чужого окна - не фонтан. Ну я то выкручусь, но на будущее хотелось бы:

1. Чтобы Quik принимал 2 параметра командной строки - логин и пароль. И использовал их для установки соединения сразу после запуска. Это позволит запускать его bat файлом.
2. Функции для lua через которые можно будет указать логин и пароль, а также установить соединение. Их можно будет использовать в обработчике OnDisconected.
3. Хорошо бы в окно ввода логина и пароля влепить checkbox "Использовать для автоматического входа". В случае если связь с сервером разорвана или Quik перезапущен, показывать это окно снова. Если checkbox был включен пользователем, то вместо него выводить таймер обратного отсчета ("Подключение будет автоматически произведено через 5.4.3.2.1 сек" и кнопку отмена). Если кто-то захочет войти под другим логином - успеет нажать отмену и введет новые credentials. Или нажмет disconect в самом Quikе. А кому 5-ти секундный интервал будет слишком долгим - пусть пишут LUA скрипт и реконнектятся мгновенно.
 
P.S. Из сторонних решений мне под wine подошел lua скрипт с w32 модулем отсюда. Я все равно использую свои lua скрипты и модули для экспорта тиковых данных, так что оно не сильно увеличивает мой зоопарк.
 
Штатное решение не может и не должно родиться от разработчиков. Это как банковская карта с опцией автоввода пароля в банкомате, можете себе такое представить?
 
Цитата
green_X5 пишет:
Штатное решение не может и не должно родиться от разработчиков. Это как банковская карта с опцией автоввода пароля в банкомате, можете себе такое представить?
использовать или нет это дело пользователя.
на сколько я знаю, проблема в том, что на разных брокерах разные авторизации и общего решения быть не может
 
Нет, это дело не пользователя, когда пользователь проcepит деньги и подаст в суд на разработчика за такую дыру в безопасности.
 
Цитата
green_X5 пишет:
Нет, это дело не пользователя, когда пользователь проcepит деньги и подаст в суд на разработчика за такую дыру в безопасности.
По вашему, функция "Запомнить меня на этом сайте", реализуемая в любом браузере и не отличающая фейсбук от интернет-банка - дыра в безопасности? И можно гугл с файерфоксом засуживать?
 
Цитата
Truf пишет:
Цитата
green_X5 пишет:
Нет, это дело не пользователя, когда пользователь проcepит деньги и подаст в суд на разработчика за такую дыру в безопасности.
По вашему, функция "Запомнить меня на этом сайте", реализуемая в любом браузере и не отличающая фейсбук от интернет-банка - дыра в безопасности? И можно гугл с файерфоксом засуживать?
Вы путаете финансовый терминал с соцсетями и порносайтами.
 
Цитата
green_X5 пишет:
Нет, это дело не пользователя, когда пользователь проcepит деньги и подаст в суд на разработчика за такую дыру в безопасности.
это дело пользователя.
не надо путать дырки в софте и стандартные функции.
последние лет н меня очень смешит всякие местячковые форумы про разведение тараканов, с кучей проверок, подтверждений регистраций по почте, конских требований к паролю и тд и тп.
 
А что в "quik_7_0_3_upd" разве еще это не добавили.
Тогда не стану обновлять. )))
 
Мне лично кажется странным - почему каждый раз здесь набрасываются на предложения пользователей, если нам нужна такая опция - просто сделайте её, если не можете - скажите об этом, не надо нас разубеждать в том, что то что нам нужно - оказывается по вашему мнению - нам не нужно. Это выглядит странно.
 
Мне нужена возможность авто-логина в крик, в чем проблема?
 
Добрый день.

Данный вопрос уже поднимался на форуме.
Можете ознакомиться по ссылке: http://forum-archive.quik.ru/forum/quik/94237/
 
Спасибо, Егор. Попробуем.
 
этот скрипт - полная ерунда и кривая подпорка, работает только при старте. и то не всегда
а если в процессе работы произошел обрыв соединения?
 
Цитата
Валентин пишет:
а если в процессе работы произошел обрыв соединения?
А если обрыв - то есть настройка "автоматически восстанавливать соединение" :)
 
Цитата
Imersio Arrigo пишет:
Цитата
Валентин пишет:
а если в процессе работы произошел обрыв соединения?
А если обрыв - то есть настройка "автоматически восстанавливать соединение" :)
Я советую решение, на которое я ссылаюсь во втором посте этого треда. Оно из всех костылей наиболее элегантное, имхо. Хотя, принцип работы тот же. Это LUA скрипт и dll библиотека к нему. Кладете dll в папку quik. Сохраняете скрипт в текстовом файле с расширением lua там же. Меняете в нем логин и пароль на свои. Добавляете скрипт в Quik через Services\Lua scripts  и запускаете там же один раз. После рестарта программы он будет запускаться автоматически (пока вручную не остановите).
 
Цитата
Truf пишет:
Оно из всех костылей наиболее элегантное, имхо.
Это - на ваш взгляд. У других людей может иметься мнение отличное от вашего. бгг.

У меня стоит галочка "автоматически восстанавливать", а запускается квик простеньким VB-скриптом, к-й стартует приложение и проводит логин.
И все. больше никаких заморочек. Ни с lua, ни "с w32 модулем".

И мне мое решение "из всех костылей" кажется наиболее элегантным.
 
Цитата
Imersio Arrigo пишет:
Цитата
Truf пишет:
Оно из всех костылей наиболее элегантное, имхо.
Это - на ваш взгляд. У других людей может иметься мнение отличное от вашего. бгг.

У меня стоит галочка "автоматически восстанавливать", а запускается квик простеньким VB-скриптом, к-й стартует приложение и проводит логин.
И все. больше никаких заморочек. Ни с lua, ни "с w32 модулем".

И мне мое решение "из всех костылей" кажется наиболее элегантным.
Вы знаете, что такое "имхо"?
LUA скрипт исполняется интерпретатором из поставки Quik'а. DLL-ка - штатный wrapper win32-функций для LUA, которую можно скачать с оф сайта. По сути всю работу делает сам QUIK постоянно сам себя авторизовывая по мере необходимости.
Ваше решение требует Windows Script Host для исполнения. И, например, мне под Wine на Linux'e только его до полного зоопарка не хватало. И если я уже использую LUA для экспорта тиков и всякого, то логичнее его же использовать и для прочей автоматизации. А еще логичнее - дать LUA API, предложенное в пункте 2, чтобы Windows из этой цепочки убрать совсем.
 
Цитата
Imersio Arrigo пишет:
Цитата
Валентин пишет:
а если в процессе работы произошел обрыв соединения?
А если обрыв - то есть настройка "автоматически восстанавливать соединение" :)
стоит галка автоматически восстанавливать соединение, в итоге при каждом чихе просит пароль ключа.
или я не там ищу?
 
Цитата
Валентин пишет:
стоит галка автоматически восстанавливать соединение, в итоге при каждом чихе просит пароль ключа.
или я не там ищу?
Не просит.
 
а у меня просит
 
Логин/пароль на ключи - в самом деле просит, и это не относится "автоматически восстанавливать соединение".
И тут уже, думаю, точно не стоит от разработчиков ждать решения, т.к. это зачастую вовсе сторонний софт.
 
Как-то я криво выразился.
Я вот что хотел сказать: автоматическое переподключение при обрыве связи подключается при использовании только квикового логина/пароля.
Если есть еще доп. пароль от какого-нибудь ключа (USB, например) - то там никакого автопереподключения не происходит и логин на такой ключ надо вводить всегда заново, на сколько я знаю.
 
Цитата
Антон Иволгин пишет:
Мне лично кажется странным - почему каждый раз здесь набрасываются на предложения пользователей, если нам нужна такая опция
Слышал, что службы безопасности брокеров часто против в принципе наличия хоть какой-то возможности автологина.
 
Цитата
swerg пишет:
Цитата
Антон Иволгин пишет:
Мне лично кажется странным - почему каждый раз здесь набрасываются на предложения пользователей, если нам нужна такая опция
Слышал, что службы безопасности брокеров часто против в принципе наличия хоть какой-то возможности автологина.
Я так понимаю, что если Imersio Arrigo прав, то эта возможность уже реализована. Просто программное ее использование неудобно.
Я в финаме только что двухфакторную аутентификацию quik'а отключил просто подав поручение через личный кабинет на сайте - никаких препятствий.

Имхо, если брокеры против - то им просто нужно дать контроль за этой фичей. К примеру, при подключении может передаваться флаг о том, что оно осуществляется автоматически. Если брокер против - пусть refuse'ит подключение по дефолту. А когда юзеры его задолбят, он также будет брать подписку о том, что юзер сам этого хочет, и включать возможность автологина персонально.
 
Цитата
swerg пишет:
Я вот что хотел сказать: автоматическое переподключение при обрыве связи подключается при использовании только квикового логина/пароля.
Ну и я про него же.
Всякие там доп.ключи или двухфакторка - она автоматом будет требовать ввода пароля. Тут уже не отвертишься.

Конечно же... можно написать тул, который будет ловить входящую смс, форвардить ее на комп, вводить в соотв. поле и т.п.
Но нужно ли это?
Если стоит usb-ключи, или двухфакторная авторизация, это кагбэ значит что "Безопасность усилена", и т.п.
И пытаться обходить это, имхо, глупо.
Проще у брокера отключить нафиг это все. И пользоваться квиковым логином.
 
я решил это так:
есть программа для автоматизации действий пользователя -- autoit
на ней я написал скрипт, скомпилировал его в .exe и положил в папку квика.
параметры командной строки auto_quik.exe info.exe vashlogin vashparol
далее создаем ярлык на рабочем столе с этими параметрами и радуемся :smile: info.exe -- это файл запуска моего квика.
прилагаю auto_quik.exe, для тех, кто недоверяет, может сам скопилировать из исходного кода:
Код
#include <TrayConstants.au3>
#include <Array.au3>

$exe=$CmdLine[1]
$l=$CmdLine[2]
$p=$CmdLine[3]

Run($exe)
Local $w = "[CLASS:#32770; TITLE:Идентификация пользователя]"
TraySetState($TRAY_ICONSTATE_SHOW) ; Show the tray menu.

$hWnd = WinWait($w, "", 10)
WinActivate($hWnd)
Send($l)
Send("{TAB}")
Send($p)
Send("{Enter}")
 
Цитата
Egor Zaytsev написал:
Добрый день.

Данный вопрос уже поднимался на форуме.
Можете ознакомиться по ссылке:  http://forum-archive.quik.ru/forum/quik/94237/
Ссылка не работает
 
Цитата
Иван Ру написал:
Цитата
Egor Zaytsev   написал:
Добрый день.

Данный вопрос уже поднимался на форуме.
Можете ознакомиться по ссылке:   http://forum-archive.quik.ru/forum/quik/94237/  
Ссылка не работает
    Добрый день,
   
    В случае, если имеется ввиду автозапуск исполняемого файла info.exe,     то сделать это можно с помощью стандартного планировщика заданий     Windows.
    В случае, если необходим автологин, то стандартного решения нет, но     Вы можете использовать скрипты, к примеру          на языке VBS. Здесь обращаем внимание на то, что запуск Рабочего     места QUIK с помощью скриптов может уменьшить защищенность системы.
 
https://quik2dde.ru/viewtopic.php?id=80
автологин на луа
 
Цитата
Антон Иволгин написал:
Мне лично кажется странным - почему каждый раз здесь набрасываются на предложения пользователей, если нам нужна такая опция - просто сделайте её, если не можете - скажите об этом, не надо нас разубеждать в том, что то что нам нужно - оказывается по вашему мнению - нам не нужно. Это выглядит странно.
А как же, как им отмазыватся от лишней работы, прогеры админа прибьют потом если он все пожелания им предложит воплотить! Вон админ тут и пишет, учтем и тд и тп)), а по сути в 1999 году квик был такой же убогий.
 
Добрый день. Есть у кого рабочий автологиндля 8.5.2.11? Огромное количество перепробовал - не работают. Спасибо

//а скрипта на автоматическое восстановление связи/перелогиниться при обрыве соединения нет?  
 
Цитата
Роман написал:
рабочий автологин
Вчера же вывалил в другой ветке. Шо, таки не работает?

Цитата
Роман написал:
автоматическое восстановление связи/перелогиниться при обрыве соединения
Это квик и сам умеет, зачем тут скрипт.
 
Скрипт говорит, что работает, но соединение автоматом не восстанавливает при обрыве или ручном отключении.


 
Цитата
Роман написал:
Скрипт говорит, что работает, но соединение автоматом не восстанавливает при обрыве или ручном отключении.
Скрипт и не должен сам по себе инициировать подключение, он ждет появления окна авторизации, заполняет логин и пароль в нем и жмет кнопку ок, ничего более. Если вы руками отключились, зачем-то вы это ведь сделали, как же скрипт за вас решать будет. Жмите снова подключение, появится окно авторизации и через таймаут автоматически исчезнет и квик начнет подключение (таймаут нужен, чтобы вы могли отменить подключение, если случайно не туда кликнули). Чтобы автоподключение происходило при запуске квика, в нем есть настройка "устанавливать соединение". После разрыва связи должна сработать ваша настройка восстановления, если не срабатывает, то потому, что до 0 стоит, поменяйте на 23-59-59.
 
Цитата
Роман написал:
Скрипт говорит, что работает, но соединение автоматом не восстанавливает при обрыве или ручном отключении.

Здесь приведен пример, как программно из LUA скрипта вызвать появления окна "Идентификация пользователя", которое в свою очередь заполнит вышеупомянутый скрипт автологина.
 
зарегился недавно, но уже неудивился, что увидел и эту тему тут. Характерна, кстати, и дата ее начала - 2015 год. 5 лет, Карл!!!
Это конечно безобразие.
Сразу обратил на эту фигню внимание - крайне неудобно. И форма пароля логина - просто неряшлива. Такое делают в самом начале разработки продукта. временно. После она прекрасно дорабатывается до удобства. Это везде так  принято. 2020 год на дворе.
Я уже усек, что тут принято писать челобитные и жать годами. Я так не намерен делать. буду  это внешними скриптами для себя лично исправлять. Но проблему ( а также - как она должна быть решена хотябы минимально) - буду тут писать. Пока не забанят))))

В форме ввода логина (да и сразу и пароля) - неплохо сразу задавать ввод только латиницей. Дабы не заниматься этой фигней с раскладками. Да и пароли - они уже вообще везде стали требоваться латиница+ строчные+ прописные+ цифра.
Следовательно, это сразу должно и ограничиваться программно. Далее.
Пароль невиден - это нормально. Но уже всегда и везде и давно ставят опцию - открывать символы. Ничего тут нет страшного. И безопасности такое решение никакой не прибавляет.
Далее еще.
Если человек торгует сам - то он и должен иметь возм. выбирать на свой страх\риск автологин. И вообще, неплохо бы изначально иметь такую общую форму конфигурации терминала, (как это оыбчно принято) чтобы задавать сразу такого рода настройки.
В моем случае есть двухфактурная авторизация - все равно, надо еще и смс-код вводить. Этого (такого уровня безопасности) достаточно для многих. Уже и браузерные формы у ведущих банков перешли на такое. И пароли запоминают формы. И брокеры также уже дают входить в ЛК.  
 
Чужими версиями пользоваться стрёмно, я написал свою.  
 
Пожелание: в некоторых случаях бывает нужно отключиться от сервера брокера, не закрывая QUIK, при этом чтобы сохранялся пароль в памяти. Например можно реализовать так: одно нажатие на кнопку "Разорвать соединение с информационным сервером" - просто отключаемся, но помним пароль в оперативке. Если затем нажали кнопку "Установить соединение с информационным сервером", то просто подключаемся. Если же нажали на кнопку "Разорвать соединение с информационным сервером" последовательно два раза, то забываем пароль, кнопка становится неактивной. Последующее подключение только через ввод пароля.
 
Отсутствие автологина это мера безопасности, так как тут вопрос стоит посерьёзней чем утечка личных файлов.


Однако для роботов на базе QUIK требуется какой-то механизм установления связи без ввода пароля вручную, т.к. во-первых работают они без непрерывного присмотра, а во-вторых серверы брокеров могут разрывать связь по всевозможным причинам в случайные моменты времени, что парализует работу робота в отсутствии безпользовательского способа подключения.
 
Артем, в данном случае безопасность думаю не пострадает, т.к. пароль сохраняется только в оперативке (в предложенном мной варианте только пока пользователю это нужно, он всегда должен иметь возможность "забыть" пароль), на диск в файл он не пишется. В любом случае, в текущем сеансе запуска QUIK его сохраняет в памяти для обеспечения возможности автоматического переподключения к серверу при обрыве (это очень хорошо, не нужно вводить каждый раз руками).
 
Всем привет. А можно у автологина настроить правильно, чтобы по субботам и воскресеньям не подключался? Спасибо  
 
Цитата
Роман написал:
Всем привет. А можно у автологина настроить правильно, чтобы по субботам и воскресеньям не подключался? Спасибо  
Конечно можно.
Давно уже все реализовано и прекрасно работает, правда с помощью подключения внешней библиотеки w32.dllЕсли вас этот момент не смущает, то вам сюдаhttps://quik2dde.ru/viewtopic.php?id=80
 
Вообще-то в том же МТ5 при первом входе создается хеш-ключ автологина, который привязан к Комп+Винда+ПапкаПрофиля+итд. Когда хеш-ключ не совпадет - вводи логин и пароль опять.

Но программистам Квик проще свалить на "безопасность" :D
 
И почему разработчикам не вставить фичу автологина и автосохранения файла настроек каждые N минут. Опять костыли каких-то допустим скриптов, а если пользователь девочка. В общем столько всего наверстали, а простые штуки для обычных людей не сделали. Горе от ума
 
Добрый день. По какой-то причине автологин перестал работать, перезагружал QUIK и тп. До обновления на 9.8 всё работало как надо. Есть у кого-то идеи?
 
Цитата
Роман написал:
Добрый день. По какой-то причине автологин перестал работать, перезагружал QUIK и тп. До обновления на 9.8 всё работало как надо. Есть у кого-то идеи?

Здравствуйте, Роман,

По сторонним скриптам мы поддержки не оказываем, следовательно гарантий работоспособности данных скриптов не даём.
 
Понял. Спасибо. А как нативную поддержку данного функционала нельзя внедрить? Спасибо.  
 
Цитата
Роман написал:
Понял. Спасибо. А как нативную поддержку данного функционала нельзя внедрить? Спасибо.  

Планов по внедрению такого функционала в обозримом будущем нет.
 
$wshell = New-Object -ComObject wscript.shell;
$wshell.Exec("info.exe")
Sleep 10
[void]
[System.Reflection.Assembly]::LoadWithPartialName("'System.Windows.Forms")
[System.Windows.Forms.SendKeys]::SendWait("pass")

Создаем для powershell файлик типа бат
start.ps1

Такое будет работать ?
Страницы: 1
Читают тему
Наверх