Програмное соединение с HTTPS каналом с логином и паролем.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Програмное соединение с HTTPS каналом с логином и паролем.

Сообщение ALX_2002 » 11.08.2005 (Чт) 11:27

Товарищи, озадачился новой проблемой. Нужно зайти на https канал наиболее простыми средствами.

1) Т.е мне нужно зайти на HTTPS канал, програмно указав логин пароль.

2) Хотел сделать заход с HTML формы не пошло. Пробывал через WinInet.Dll и её функции - не получилось.

* Хотел узнать как Inet контрол это делает ( делает класно приходится признать ) ? :roll:

3) Прошу помощи.

P.S Искал по форуму и гуглу. Наверное плохо искал, но к сожалению ничего определённого не обнаружил. Обязательно продолжу поиски. :idea:

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 11.08.2005 (Чт) 12:00

ServerXMLHTTP из MSXML 4.0

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 11.08.2005 (Чт) 12:06

2 Konst_One & great respect :!: :shock:

А чуть чуть инфы по технологии использования можно ? :idea:

Пожааалста. :roll:


P.S Хотел узнать - А под 98 виндой этот компонент по Defaultu есть ?

Просто нужно с разных тачек делать аутентификацию. :roll: вот... :oops:

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 11.08.2005 (Чт) 12:32

по дефолту этого нет, надо ставить MSXML 4.0 SP2, примеры есть в этом же сетапе в справке по MSXML SDK

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 11.08.2005 (Чт) 12:54

2 Konst_One: Я подсунул вместо 4-ого MSXML 2.0

Сделал так
Код: Выделить всё
Dim httpreq As New XMLHTTPRequest
Private Sub Form_Click()
httpreq.open "POST", "https://www.zzz.ru/1.asp", False, "login", "password"
httpreq.send
MsgBox httpreq.responseText
End Sub


Всё класно, но с русскими символами проблема, хотя в странице чётко указан CHARSET - windows-1251

Как нибудь можно поправить ? :roll:

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 11.08.2005 (Чт) 17:53

2 all+ Konst_One: Вопрос с русским текстом решил, но к сожалению Internet Explorer не расценивает такое соединение как свое. В результате при переходе на следующую страницу запрашивается пароль и логин.


:( :( Есть ли какой нибудь способ заставить IE зайти на HTTPS указав логин и пароль так, чтобы он создал сессию и больше не запрашивал идентификационных данных ? Чтобы последующие подключения через IE не вызывали окна ввода. :roll:

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 13.08.2005 (Сб) 13:36

Фуф... Задолбался.....

А всего то надо, чтобы человек, зашедший на HTM страницу за счёт

СКРИПТА / ACTIVEX-A автоматически переходил на HTTPS канал, так чтобы пароль и логин передавались без его ввода.

Задолбался.... Никак не выходит. :scratch: :evil:

ЭТИ $#@*&!^ МЕЛКОСОВТОВЦЫ ПОПРЯТАЛИ ОТ МЕНЯ ВСЕ ВОЗМОЖНОСТИ.....

( внутренний голос - это не они хорошо спрятали.., а ты плохо ищещь )

ШО ДЕЛАТЬ НАРОД ?!!!!! :x СПАСАЙТЕ ПЛИИЗ !

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 13.08.2005 (Сб) 13:38

Такие вещи шлются кукисами...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 13.08.2005 (Сб) 13:44

( Падаю на колени ) :shock: :idea: :idea: :!:

А можно суть данного КОНЦЕНСУСА. Как сделать ? С этими печеницами ? :D

ПЛЛЛЗЗЗ

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 13.08.2005 (Сб) 15:47

Ну, вот форум наш делает же с ними что-то? :)

Клиент при запросе страницы шлёт кукис, в котором написано "Я знаю пароль".
Как записать в кукис "Я знаю пароль", я не знаю :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Сообщение codemaster » 16.08.2005 (Вт) 10:38

ALX_2002 писал(а):Фуф... Задолбался.....

А всего то надо, чтобы человек, зашедший на HTM страницу за счёт

СКРИПТА / ACTIVEX-A автоматически переходил на HTTPS канал, так чтобы пароль и логин передавались без его ввода.

Задолбался.... Никак не выходит. :scratch: :evil:

ЭТИ $#@*&!^ МЕЛКОСОВТОВЦЫ ПОПРЯТАЛИ ОТ МЕНЯ ВСЕ ВОЗМОЖНОСТИ.....

( внутренний голос - это не они хорошо спрятали.., а ты плохо ищещь )

ШО ДЕЛАТЬ НАРОД ?!!!!! :x СПАСАЙТЕ ПЛИИЗ !



Сертификат установил и порт на сервере ты настроил?
см. еще ссылку

http://www.rsdn.ru/Forum/Message.aspx?m ... 474&only=1

P.S. кукисы здесь абсолютно ни причем 8))
//<-
Mit freundlichen Grüßen
//->

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Сообщение codemaster » 16.08.2005 (Вт) 11:03

GSerg писал(а):Ну, вот форум наш делает же с ними что-то? :)

Клиент при запросе страницы шлёт кукис, в котором написано "Я знаю пароль".
Как записать в кукис "Я знаю пароль", я не знаю :)


В кукисах как правило хранится ID сессии , количество посещений,
формы и пр.
и пр . ( причем относительно сессии это очень плохой прием )

иногда и это правильно сессия передается параметором
например:
Код: Выделить всё
https://freemailng1003.web.de/online/frame.htm?si=VYDX.1e4WdK.3iiv7C.1k**&v=1


записать в кук легко


Код: Выделить всё
JS- пишем>
document.cookie="Param1=bla-bla"

читаем

var s=document.cookie;
var a=s.search("Param1");



P.S. Если не указываешь время жизни куков — то они живы только во время сессии .
//<-
Mit freundlichen Grüßen
//->

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 16.08.2005 (Вт) 11:55

2 codemaster: Ух.... !!! :? :? . Поглядел. А как дальше это заюзать ? :? Там же C-ник голый. А я там 0. :(

Порт на серваке настроен и сертификат куплен.

Но вот как залогинить клиента автоматически ? Чтоб ему

не приходилось набирать логин и пароль я так и не сообразил.

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Сообщение codemaster » 16.08.2005 (Вт) 13:38

ALX_2002 писал(а):2 codemaster: Ух.... !!! :? :? . Поглядел. А как дальше это заюзать ? :? Там же C-ник голый. А я там 0. :(

Порт на серваке настроен и сертификат куплен.

Но вот как залогинить клиента автоматически ? Чтоб ему

не приходилось набирать логин и пароль я так и не сообразил.


Давай воостановим последовательность

у тебя есть страница с ACTIVEXом (надеюсь подписанным)
пользователь browserом заходит на нее регистрится (прочие манипуляции)
и далее должен переходить в browser на другую страницу
которая "отдается" по HTTPS или надо просто
"скачать" в твой ActivX страничку по https ?

P.S. Есть еще пара засад

1. Окошко "начинается просмотр через безопасное соед...."
2. "серверов" надо два иначе весь сайт будет доступен по http...s...
//<-
Mit freundlichen Grüßen
//->

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 16.08.2005 (Вт) 14:06

2 codemaster: Хм. Задумался как ответить...

Решил по порядку
1) Activex подписан
2) Мне нужно сделать так, чтобы ACTIVEX создал сессию с HTTPS каналом. т.е

Человек зашёл на страницу http://site.ru/1.HTM, на которой лежит мой ACTIVEX .
ACTIVEX производит аутентификацию и переваливается на страницу

https://site.ru/1.asp. на HTTPS канале....

:)

Буду очень благодарен любой помощи или альтернативному предложению

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Сообщение codemaster » 16.08.2005 (Вт) 15:41

ALX_2002 писал(а):2 codemaster: Хм. Задумался как ответить...

Решил по порядку
1) Activex подписан
2) Мне нужно сделать так, чтобы ACTIVEX создал сессию с HTTPS каналом. т.е

Человек зашёл на страницу http://site.ru/1.HTM, на которой лежит мой ACTIVEX .
ACTIVEX производит аутентификацию и переваливается на страницу

https://site.ru/1.asp. на HTTPS канале....

:)

Буду очень благодарен любой помощи или альтернативному предложению


как вариант

Надеюсь на странице ActivX как <object> </object>?
если да то посади на его событие
например JS функцию которая заполнят и делает submit формы

Код: Выделить всё
<form action="https:[/b]//site.ru/1.asp/" method="post" name="form">
   <input type="hidden" name="session" value="......"/>
               .....
               ......
             <input type="hidden" name="user" value="......"/>
      


но по любому https:[/b]//site.ru/1.asp/ и http://site.ru/1.HTM
врядли пройдет по причинам описанным выше
//<-
Mit freundlichen Grüßen
//->

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 16.08.2005 (Вт) 16:16

2 codemaster: К сожалению ещё меньше понял из этого ответа.

1) Зачем нужна HTML форма ???! :? :? :? Через неё ведь нельзя залогиниться на HTTPS. Или всё таки можно ??? Тогда прошу можно поподробнее как описать поля - я в инете не нашёл. :(, а из тех что описаны выше у меня не получилось ничего сделать.


2) Всё думаю как бы заставить сам IE соединиться с HTTPS и подсунуть ему внутрь логин и пароль. Может всё таки у него есть какие нибудь "рычаги" / (property), чтоб это организовать ? :(

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Сообщение codemaster » 17.08.2005 (Ср) 10:53

ALX_2002 писал(а):2 codemaster: К сожалению ещё меньше понял из этого ответа.

1) Зачем нужна HTML форма ???! :? :? :? Через неё ведь нельзя залогиниться на HTTPS. Или всё таки можно ??? Тогда прошу можно поподробнее как описать поля - я в инете не нашёл. :(, а из тех что описаны выше у меня не получилось ничего сделать.


STOP!
кажется я понял о каком логине и пароле ведется речь !!
:wink:

что у тебя стоит в настройках сервера:
Безопасность каталога -> Анонимный доступ и проврка подлинности ???? (где поставлены крыжики?)
//<-
Mit freundlichen Grüßen
//->

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 17.08.2005 (Ср) 11:00

2 codemaster: Эм...Сейчас не помню, что именно в настройках. Анонимный доступ вроде выключен.(сервак настраивал не я) :)

В кратце. IE соединяясь с серваком выкидывает своё окно с вводом логина и пароля ( не HTML страничку с формой, а своё диалогове окно.). Мне нужно сделать так, чтобы клиент его не видел и не пытался сам вводить логин и пароль. Т.е мне нужно ЛЮБЫМ способом самому передать их в IE. :cry:

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Сообщение codemaster » 17.08.2005 (Ср) 11:20

ALX_2002 писал(а):2 codemaster: Эм...Сейчас не помню, что именно в настройках. Анонимный доступ вроде выключен.(сервак настраивал не я) :)

В кратце. IE соединяясь с серваком выкидывает своё окно с вводом логина и пароля ( не HTML страничку с формой, а своё диалогове окно.). Мне нужно сделать так, чтобы клиент его не видел и не пытался сам вводить логин и пароль. Т.е мне нужно ЛЮБЫМ способом самому передать их в IE. :cry:


это батенька называется авторизация
( думается сервак настраивал малограмотный человек :wink: )

итак самое простое средство борьбы с окном авторизации
разрешить Анонимный доступ

иначе см. следющее

MS долго мучилась разрешать авторизацию в URL или запрещать

MS сначала запретила эту фичу
http://support.microsoft.com/?kbid=834489

а потом разрешила обратно
http://www.techweb.com/wire/story/TWB20040209S0005

данную фишку для IE можно включать/выключать посредство реестра:
---------------------------------------------------------------------
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE]
"iexplore.exe"=dword:00000000
"explorer.exe"=dword:00000000
---------------------------------------------------------------------
0 — выключили запрет, 1 — включили
HKEY_LOCAL_MACHINE для всех юзеров
начинает работать для вновь запущенного браузера.
//<-
Mit freundlichen Grüßen
//->

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 17.08.2005 (Ср) 16:05

Уфф.... Не <censored> себе..... :shock: Ну мелкософт и накорячил.

Сейчас попробую въехать. :o . Пасиб.

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 17.08.2005 (Ср) 16:26

Что то я опять не так делаю. :(

Залез в раздел в реестре

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\

Раздела FEATURE_HTTP_USERNAME_PASSWORD_DISABLE в нём не было. :(. Создал. Защёл в него. Внутри создал

"iexplore.exe"=1
"explorer.exe"=1

Перезапустил комп.

Создал страничку

Код: Выделить всё
<FORM ACTION="https://www.xz.ru/1.asp" method="POST">
<INPUT name="login">
<INPUT name="password">
<INPUT type="submit">
</FORM>


Попробывал... Не пошло. Окно сново вылезло.

Поменял значения в реестре на 0 , 0

Перезапустил IE - всё равно не пашет.

Хелп ? :(

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 17.08.2005 (Ср) 17:13

http://msdn.microsoft.com/library/rus/c ... frame=true

Нашёл на MSDN такую тему. Но как заюзать её в VB не могу сообразить... Видимо это только под NET :(

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Сообщение codemaster » 18.08.2005 (Чт) 11:04

ALX_2002 писал(а):Что то я опять не так делаю. :(

Залез в раздел в реестре

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\

Раздела FEATURE_HTTP_USERNAME_PASSWORD_DISABLE в нём не было. :(. Создал. Защёл в него. Внутри создал

"iexplore.exe"=1
"explorer.exe"=1

Перезапустил комп.

Создал страничку

Код: Выделить всё
<FORM ACTION="https://www.xz.ru/1.asp" method="POST">
<INPUT name="login">
<INPUT name="password">
<INPUT type="submit">
</FORM>


Попробывал... Не пошло. Окно сново вылезло.
http://user
Поменял значения в реестре на 0 , 0

Перезапустил IE - всё равно не пашет.

Хелп ? :(




URL надо типа
http://user:password@www.server.com
//<-
Mit freundlichen Grüßen
//->

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 18.08.2005 (Чт) 11:19

ОП ! СРАБОТАЛО ! НУ НАКОНЕЦ ТО !

Спасибо огромное !!! :D


P.S Странно - вчера пробывал сделать и так (брал строку из INET)

Почему то вчера не сработало, а сегодня пашет.

По ходу перезагрузка необходима. :(
Последний раз редактировалось ALX_2002 18.08.2005 (Чт) 12:05, всего редактировалось 1 раз.

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Сообщение codemaster » 18.08.2005 (Чт) 11:31

ALX_2002 писал(а):ОП ! СРАБОТАЛО ! НУ НАКОНЕЦ ТО !

Первое спасибо огромное !

Хм... А как бы это передать, чтоб клиент не увидел ? :roll:


как вариант "маскировать" пустым фреймом
//<-
Mit freundlichen Grüßen
//->

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 18.08.2005 (Чт) 15:54

:( Чёрт ! Новая проблема. Как применить новые настройки не закрывая все окна IE и можно ли вообще так сделать ?

Альтернативные идеи тоже рад выслушать. :(

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Сообщение codemaster » 19.08.2005 (Пт) 10:32

ALX_2002 писал(а)::( Чёрт ! Новая проблема. Как применить новые настройки не закрывая все окна IE и можно ли вообще так сделать ?
:(


какие настройки ? IE ?
//<-
Mit freundlichen Grüßen
//->

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 19.08.2005 (Пт) 13:24

В общем ситуация такая.

Представим что у клиента на компе нет этих записей в реестре.
Он заходит на мою страничку, которая лежит на HTTP.
На этой страничке лежит мой ACTIVEX. Он пишет в реестр эту запись И ТУТ - мне нужно, чтобы он перезапустил IE, чтобы параметры вступили в силу. :( . Иначе дальше мой ACTIVEX не может перейти на HTTPS канал передав в URL логин и пароль.

Вот думаю - что ж делать ? Закрывать все окна IE ? Или можно как то заставить IE принять новые настройки без перезапуска ?

:(

IE - Internet Explorer

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 114

    TopList