Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

аутефикация на прокси [D7, WinXP]


Страницы:   1 2 3

Kav ©   (2008-01-19 13:01:00) 

Перерыл исходники прокси-серверов, но ни в каком нет примера аутефикации пользователей
есть ли такие исходнки или описание как это сделать


Slym   (2008-01-24 11:40:00) [41]

   try
     FRemoteSocket.Open(RemoteHost,'','',RemotePort);
     if AnsiStartsText('CONNECT', Query.Strings[0]) then
     begin
       ClientSocket.SendLn('HTTP/1.0 100 Continue');
       ClientSocket.SendLn('');
     end else
     begin
       for i:=0 to Query.Count-1 do
       begin
         if not FRemoteSocket.Connected then break;
         if Query.ValueFromIndex[i]='' then Continue;
         FRemoteSocket.SendLn(Query.Strings[i]);
       end;
       FRemoteSocket.SendLn('');
     end;
     DoTunneling(ClientSocket,FRemoteSocket);
   finally
     FRemoteSocket.Close;
   end;


Slym   (2008-01-24 11:15:00) [42]

готовое не проще взять? этих считалок проксей как китайцев на планете... к томуже с кэшированием... и "умным" рефрешем
Kav   (24.01.08 10:39) [18]
P.S.  много уйдет времени если делать еще  поддержку HTTPS ?

15 мин... она там практически реализована...


Kav   (2008-01-24 10:39:00) [43]

Slym, чуть-чуть разобрался (просто времени свободного не было),
У меня проблема такая компы у меня как бы общие т.е. любой сотрудник организацию за него может сеть и поработать ( и мне нужно всети статиску сколько они мегабайт затратили на интернет и на каких сайтах побывали),
И в них есть учетная запись - читатель каждый входит в компьютер под ней
если поставить галку сохранить пароль, то при следущем входе в систему
он уже будет как бы введен, так что это не подходит
P.S.  много уйдет времени если делать еще  поддержку HTTPS ?


Slym   (2008-01-24 10:12:00) [44]

Разобрался в моем коде?
Kav   (24.01.08 10:01) [16]
держался

держался где?
В рамках 1 сеанса браузера с сервером пароль хранится в памяти браузера... Можно поставить "галку" сохранить пароль тогда он сохраняется гдето в системе...


Kav   (2008-01-24 10:01:00) [45]

А вот еще один вопрос:  можно ли  сделатьтак  что если юзер авторизировался,  его пароль держался бы пока он не завершит свой сеанс в Windows ?


Kav   (2008-01-22 16:53:00) [46]

Slym
спасибо щас буду смотреть


Slym   (2008-01-22 13:20:00) [47]

Дарю http://ifolder.ru/5054357


DiamondShark   (2008-01-22 12:10:00) [48]


> вв яндексе куда-то не туда послали


http://www.yandex.ru/yandsearch?text=RFC+http+proxy+authentication&rpt=rad


Kav   (2008-01-22 10:52:00) [49]

>> не просто ужастный, а никчемный... месиво из 3х!!! сокетных компонент
а есть исходники попроще ?


Kav   (2008-01-22 10:51:00) [50]

DiamondShark,
RFC - что такое и где взять ? вв яндексе куда-то не туда послали :)
Slym,
Окей попробую


Slym   (2008-01-22 10:48:00) [51]

Slym ©   (22.01.08 10:42) [9]
код ужасный

не просто ужастный, а никчемный... месиво из 3х!!! сокетных компонент


Slym   (2008-01-22 10:42:00) [52]

код ужасный, писал наверно сиплюсоид
найди строку if Authenticate(MS) <> -1 и раскоментируй ее...


DiamondShark   (2008-01-22 10:33:00) [53]


> я не очень сильно понимаю работу прокси сервера

так пойми. почитай RFC.

А то ты сейчас в ситуации вроде: "Мужики, я не очень умею ездить, куда тут ключ зажигания вставлять?"


Kav   (2008-01-22 10:09:00) [54]

DVM,
я не очень сильно понимаю работу прокси сервера, я взял
исходник http://www.delphisources.ru/pages/sources/internet/2005_year/alt_http_proxy.html
и хотел его переделать под себя, но не знаю даже с какой стороны к нему подбираться
P.S. сразу скажу в Delphi я хорошо разбираюсь просто не когда не работал с сетью.


DVM   (2008-01-19 18:10:00) [55]

Причем в первом случае надо устанавливать соединение с самим сервером, а во втором с прокси сервером.


DVM   (2008-01-19 18:09:00) [56]

Если ты делаешь HTTP прокси, то должен знать принцип его работы. Клиент делает HTTP запрос к прокси, прокси разбирает запрос и делает почти такой же, но уже от своего имени запрос к HTTP серверу.

Если нужен прокси с HTTP Basic авторизацией, то необходимым условием для работы клиента через такой прокси будет особым образом построенный HTTP запрос. В нем будут следующие изменения:

1) Вот обычный запрос безо всяких прокси, направленный непосредственно HTTP серверу:


     FRequest := 'GET ' + Path + ' HTTP/' + HTTPVersion + CRLF +
                 'Accept: */*' + CRLF +
                 'Pragma: no-cache' + CRLF +
                 'Cache-Control: no-cache' + CRLF +
                 'User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Win32)' + CRLF +
                 'Host: ' + Host + ':' + inttostr(Port) + CRLF;
                 'Authorization: Basic ' + EncodeBase64(UserName + ':' + Password) + CRLF +
                 'Connection: Keep-Alive' + CRLFCRLF;


2) А вот так запрос будет выглядеть если он направляется проки серверу.


     FRequest := 'GET http://' + Host + ':' + inttostr(Port) + Path + ' HTTP/' + HTTPVersion + CRLF +
                 'Accept: */*' + CRLF +
                 'Pragma: no-cache' + CRLF +
                 'Cache-Control: no-cache' + CRLF +
                 'User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Win32)' + CRLF +
                 'Host: ' + Host + ':' + inttostr(Port) + CRLF +
                 'Authorization: Basic ' + EncodeBase64(UserName + ':' + Password) + CRLF +
                 'Proxy-Authorization: Basic ' + EncodeBase64(ProxyUserName + ':' + ProxyPassword) + CRLF +
                 'Connection: Keep-Alive' + CRLFCRLF;


Kav   (2008-01-19 17:32:00) [57]

DVM,
Делаю сам прокси :)


DVM   (2008-01-19 16:44:00) [58]


> Kav   (19.01.08 16:22) [2]

Ты делаешь сам прокси или клиентскую программу, которая должна работать через прокси?


Kav   (2008-01-19 16:22:00) [59]

DVM , у меня есть прокси на него коннектятся пользователи и мне надо им либо дать интерет либо нет
и куда мне это нужно примостить 'Proxy-Authorization: Basic ' + EncodeBase64(ProxyUserName + ':' + ProxyPassword)


DVM   (2008-01-19 15:11:00) [60]

В заголовке запроса должно быть 'Proxy-Authorization: Basic ' + EncodeBase64(ProxyUserName + ':' + ProxyPassword)


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо