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

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

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


Страницы:   1 2

AKA ©   (2001-08-25 10:36:00) 

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


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

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

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


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

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


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

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

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


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

>Anatoly Podgoretsky

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


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

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


Nemesis   (2001-09-17 09:50:00) [6]

>Anatoly Podgoretsky

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


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

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

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


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

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


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

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

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


AKA   (2001-09-04 09:47:00) [10]

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


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

если бы да кобы... как я понял ты админешь...и в начале упоминался 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-03 16:06:00) [12]

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


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

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


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

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


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

findwindow("IEFrame",nil);


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

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


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

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)

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


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

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


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

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


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

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

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

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


Страницы:   1 2

Наверх

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