Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];




Вниз

Как можно из дельфи включать подключение к инету и отключать через прокси??? 


AKA   (2001-08-25 10:36) [0]

Возможно ли сделать так чтобы програма могла включать подключение к инету и отключать, если на компьютере стоит прокси ??? Может есть еще какие способы включения и отключения инета подскажите ?
Интернет настроен следующим образом:
Сервер с двумя сетевухами, подключен к инету через одну сетевуху на нем стоит прокси сервер, через другую сетевуху подключена локалка на 10 компов на них стоит прокси клиент.
Как можно сделать так чтобы при желании например 1 комп включить к инету а второй выключить и при желании можно былобы в любое время включать и выключать инет на любом компе ????



AKA   (2001-08-30 12:38) [1]

Блин... не ужели никто не сталкивался с этой проблемой ???



AKA   (2001-08-30 15:08) [2]

Ну и где ваши советы пожелания и пр... ?



[N\A]   (2001-08-30 19:37) [3]

странный вопрос какой то...
можно програмно изменить настройки броузера...
можно заблокировать броузер вообще...
можно заблокировать порт проксин на машине юзера...
самое, на мой взгляд, продуктивное написать клиент\сервер, и управлять
машинами с сервера по IPX или TCP\IP; вариантов масса



JMc   (2001-08-31 02:58) [4]

А может просто поставить WinRoute и настроить в нём кому можно в ИНет ходить а кому нет и когда...
Или я чего-то не понял?



AKA   (2001-08-31 10:15) [5]

To: [N/A]
Подробнее можешь описать предложенные тобой варианты блокировок инета ???



[N\A]   (2001-08-31 13:50) [6]

куда уж подробнее или ты хочешь, чтобы я код за тебя написал? =)
"можно програмно изменить настройки броузера..." имелось ввиду настройки прокси (для IE все лежит в реестре)
"можно заблокировать броузер вообще...", "можно заблокировать порт проксин на машине юзера..." - это относится скорее к последнему потому как я понял нет четкого времени когда пускать когда нет в инет...(как я понял)
а последнее имелось ввиду RAT - система удаленного администрирования (простенькая, с теми функциями которые тебе нужны)
помоему все ясно...




AKA   (2001-08-31 14:53) [7]

Не все настройки есть в реестре, а именно я не нашел где хранится значение галочки "автоматическое определение настроек" ?
Как заблокировать порт ???



[N\A]   (2001-08-31 15:26) [8]

воспользуйся Regmon for Windows 9x/ME/NT/2K (www.sysinternals.com)
"Как заблокировать порт ???" с помощью сокетов...



AKA   (2001-08-31 15:35) [9]

Ты можешь написать код программы который блокирует 80 порт ???
Я пробовал TServerSocket и TClientSocket у меня не получилось... :(



qwerty   (2001-09-01 01:18) [10]

какая ос у юзеров?



AKA   (2001-09-01 09:33) [11]

win 98,95,me



Anatoly Podgoretsky   (2001-09-01 10:15) [12]

Блокирование собственого порта 80 абсолютно бессмысленно для данной цели.



AKA   (2001-09-01 10:36) [13]

Почему блокировка бессмыслена ???
Если я конекчусь к 80 порту к себе, по идеи я его блокирую ?!
Так как-же все таки ограничить доступ к инету ?



Anatoly Podgoretsky   (2001-09-01 17:32) [14]

Нет конечно блокировка не бессмыслена , если ты будешь блокированть 80 порт на сервере, а свой не имеет никакого смысла, он и так не используется.
Для ограничения используй разновидность файрвола или ходить через прокси, где установлены необходимые разрешения.
Похоже что ты весьма смутно представляешь работу сетей.



AKA   (2001-09-01 17:52) [15]

Да блин мне не нужен Файрвол !!!
У меня и так на серваке стоит прокси !!!
Мне нужно чтобы программа сама отключала или включала доступ к интернет !!!

Вот представь себе клуб в котором 100 компов , и что мне нужно в ручную править все ?!
Я не думаю, что нет программного способа перекрыть инет !!!

Может кто нибудь даст дельный совет как все-таки с помощью программы (своей) блокировать доступ к интернету ???



AKA   (2001-09-01 18:08) [16]

Т.е. если я конекчусь скажем к удаленной машине на 1234 порт, то на локальной машине этот порт (чем конечусь) другой ??
Client.port:=1234 и Server.Port=1234 - совершенно разные порты ?
или я что-то не так понимаю ?!



Anatoly Podgoretsky   (2001-09-01 20:56) [17]

Почитай про TCP/IP и сокеты
А вот обижаться не надо, ты в пуличноей конференции, не нарвится так ты в наш садик не ходи.
Если тебе надо отключать инет, то причем здесь порт 80 твоего компьютера



[N\A]   (2001-09-02 23:41) [18]

procedure KillByName(FileName:String);
var
c1: THandle;
th: THandle;
lb: LongBool;
pe: TProcessEntry32;
s: String;
begin
try
if TestToolhelpFunctions then begin
c1:=CreateToolHelp32Snapshot(TH32CS_SnapProcess,0);
try
pe.dwSize:=sizeOf(pe);
if Process32First(c1,pe) then
repeat
s:=pe.szExeFile;
if StrComp(PChar(UpperCase(filename)),PChar(UpperCase(ExtractFileName(s))))=0 then begin
th := OpenProcess(PROCESS_TERMINATE,lb,pe.th32ProcessID);
TerminateProcess(th,0);
end;
until not Process32Next(c1,pe);
finally CloseHandle(c1) end;
end;
except end;
end;

function WindowProc(Wnd: HWnd; Message, WParam: Word; LParam: Longint): Longint; export; stdcall;
begin
case Message of
WM_TIMER : if WParam = 1 then
// if INET_ON <> TRUE then
KillByName("iexplore.exe");
WM_CLOSE : ExitProc;
WM_DESTROY : ExitProc;
end;
WindowProc := DefWindowProc(Wnd, Message, WParam, LParam);
end;

это в начало
const
AppClassName = "IE_Kill_Class";
INET_ON : Boolean = TRUE;

вешаешь таймер при создании окна
SetTimer(hMain,1,1000,nil);

все! IE открываться не будет...

можно также добавить процедуры и принимать сообщения от главного компа что то типа on или off ...по сети (а как клиент можно использовать telnet)

все, что могу тебе предложить в качестве кода...остальное только за $ =)



AKA   (2001-09-03 10:21) [19]

Этот вариант не пройдет...
Это самое простое, что можно было придумать...
Ну ты понимаешь, что это глупо убивать IE из памяти !!!
А если я его переименую скажем в 1.exe что тогда ???



[N\A]   (2001-09-03 14:07) [20]

findwindow("IEFrame",nil);



AKA   (2001-09-03 14:31) [21]

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



Anatoly Podgoretsky   (2001-09-03 15:00) [22]

Делать как положено в прокси, все запретить, разрешить только определенным IP так что и смена IP не поможет



AKA   (2001-09-03 16:06) [23]

Так как сделать так, как делает это прокси - естесвенно в своей программе ????



[N\A]   (2001-09-03 18:46) [24]

если бы да кобы... как я понял ты админешь...и в начале упоминался IE...
вот сырой код
if bind(st, sin, sizeof(sin)) <> 0 then halt;
if Winsock.Listen(st, 5) <> 0 then halt;
len := sizeof(sin);
i:=accept(st, @sin, @PInteger(len));
SocketSend(i,"C o n n e c t e d..."+#13#10);
SocketSend(i,""+#13#10);
SocketSend(i,"2-е команды: off и on. (IE будет работать или нет)"+#13#10);
SocketSend(i,"==============================================="+#13#10);
SocketSend(i,"Введите вашу команду: "+#13#10);
retval:=recv(i, ot^,1024,0);
if retval>0 then begin
s:=ot;
if s="off" then begin
INET_ON := FALSE;
SocketSend(i,"Интернет Выключен");
end;
if s="on" then begin
INET_ON := TRUE;
SocketSend(i,"Интернет Включен");
end;
end;



AKA   (2001-09-04 09:47) [25]

И что этот пример делает ??? Подробнее можешь объяснить ? Где описания переменных какими они должны быть ???



Nemesis   (2001-09-14 15:12) [26]

Может мне поможете:

Я решил обойтись полумерами - на каждой клиентской машине есть IE, с локалки есть выход на интернет через прокси но его практически нельза администрировать - причуды провайдера. штобы дать выход клиенту нужно настроить IE на тот прокси. Где можно найти куда броузер пишет эти настройки штоб поменять через свою програму - прописал настройки - есть интернет, убрал - нет ...



некто Вася   (2001-09-15 07:13) [27]

тут же написано выше,
"воспользуйся Regmon for Windows 9x/ME/NT/2K (www.sysinternals.com)"



Anatoly Podgoretsky   (2001-09-15 09:45) [28]

прописал настройки - есть интернет, убрал - нет ...

Прекрасно, но почему это ты, а не пользователь :-)



Nemesis   (2001-09-17 09:50) [29]

>Anatoly Podgoretsky

Стоит задача ограничит доступ. Юзеры некомпетентны для таких подвигов - настройки интенету. Я хочу это делать своей программой. А также комплексную програму бровзер, почтовик и шото типа чата ...
Помогите чемможете ...



Anatoly Podgoretsky   (2001-09-17 10:21) [30]

У тебя неверные представления об некомпетентности пользователей, захочет попасть Интернет быстро станет компетентным м пропишет эти настройки на прокси, так что не расчитывай, что подобная защита будет работать.
Такие вещи на дело по уму, не у пользователя на сервере, куда пользователь свои шалостливые ручки не сможет протянуть.



Nemesis   (2001-09-17 11:19) [31]

>Anatoly Podgoretsky

Я своих юзеров знаю - не смогут ...
Задача: не оградить от интернета, а "распределять" ...



AKA   (2001-09-18 10:02) [32]

Изменять настройки в IE это самый худший из вриантов, что можно сделать...
Если будет хотябы один продвинутый пользователь он на этом денег еще поимеет будет включать всем инет за свою сумму...

p.s. Поверь мне на слово... я то уж точно знаю... с этой проблемой я бился месяц и конечно-же решил ее... Удачи!



некто Вася   (2001-09-18 23:40) [33]

если уже зашла речь о настройках IE, не знаю, а что мешает поставить таймер SetTimer(hMain,1,3000,nil); запариться менять каждие 3сек



Dabus   (2001-12-07 21:57) [34]

Это может быть уже не актуально но ... идея проста:
на серваке стоит TCustomServerSocket на порт 80,
при коннекте, сверяет IP клиента.
А после или отрубает или нет. Если нет, то IE всё
хватает и работает без проблем.

Я эту фичу давно писал (в эксериментальных целях)
поэтому исходников нету. Но были .... Чесснно...!!!




Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.78 MB
Время: 0.032 c
1-79370           Alicho                2002-02-07 14:54  2002.02.25  
Форма в dll


1-79338           ЕвгенийА              2002-02-08 01:20  2002.02.25  
Вопрос по формам...


3-79293           Dup                   2002-01-31 16:57  2002.02.25  
lookup поле


1-79350           Demon[DZ]             2002-02-07 11:16  2002.02.25  
TTreeView&Table


14-79469          Lakokr                2002-01-05 03:43  2002.02.25  
Подскажите.......