[ Rade Jaramaz @ 16.01.2006. 22:00 ] @
Zdravo,

da li neko od Vas ima iskustva u pravljenju aplikacije koja kontrolise pristup web sajtovima? Naime program bi trebao da ucita listu sajtova i da nedozvoli pristup tim sajtovima. Da li imate neku ideju kako bi se ovo moglo uraditi koristeci C#?
Sta je potrebno za ovakav program/servis?

Sve sugestije, ideje i komentari su dobrodosli. Ako neznate za C# a imate neku ideju kako bi se moglo uraditi koristeci drugi programski jezik slobodno kazite!

Hvala,

Pozdrav,
Rade
[ mmix @ 17.01.2006. 20:17 ] @
Ono sto ti hoces da pravis je pass-through proxy server. Nemoj me pogresno shvatiti, ali samim tim sto pitas kako to da uradis je vec indikacija da neces uspeti. Problematika pass-through proxy-a je networking problem cije resavanje zahteva veoma detaljno poznavanje networking-a, posebno tehnicko poznavanje TCP/IP implementacije na sistemu za koji pravis proxy, kao i poznavanje sistemske arhitekture OSa posto moras napisati bar jedan driver u celoj toj prici.

Sto se tice programskih jezika, takve stvari se obicno rade u C++-u posto su performanse takvog sistema od presudnog znacaja. U .NETu eventualno moze da se radi user interfejs za konfiguraciju. Samo filtriranje se desava na drajverskom nivou u koji bas nije pametno ubacivati .NET komponente.
Botom line, ovo je ozbiljan projekat koji radi tim specijalizovanih programera vise meseci i koji konstantno mora da se odrzava posto MS izbaci SP# i poremeti celu pricu
[ jablan @ 18.01.2006. 08:21 ] @
U mmix al ga pretera, možda čovek neće raditi komercijalni proxy, nego nešto za sopstvene potrebe / vežbu... Ako u mreži ima gateway ka internetu, može na njemu postaviti windows servis koji će raditi kao proxy (veb server), a na radnim stanicama podesiti proksi u browserima, nema potrebe da piše transparentni proxy ili tako nešto...
[ mmix @ 18.01.2006. 12:28 ] @
Mozda jesam bio malo grub, al je poruka ta. Dovoljno dugo si u ovoj
prici da znas evoluciju proxy servera. Standalone proxy jednostavno vise
ne radi, postoji gomila nacina da se zaobidju i zahteva da se svi
outbound portovi zatvore kako bi se sprecilo da korisnici jednostavno
skinu proxy podesavanja u browserima ili koriste neki od public proxy-a
:). Transparentni proxy je jedini koji je trenutno koristan jer ne
postoji nista za sta bi se covek zakacio da ga onesposobi, prate se svi
portovi I detektuje HTTP protocol I potom filtrira ako treba. Da ne
pominjem da ga ISP-ovi obozavaju posto im omogucava da varaju korisnike
kako imaju direktnu internet vezu :)

Al ajd, da kazemo da covek hoce samo da se vezba, da bi pravio
standardni proxy mora da implementira i serversku i klijentsku stranu
RFC-a 2616 (ako si vec pomislio das am lud sto to znam, nisam znao ovo
napamet :), morao sam da pogledam), plus klijentska implementacija DNS-a
da korisnici ne bi pozivali sajtove preko IP adresa (pod uslovom da sajt
ima registrovan PTR u DNSu), plus verovatno jos par stvari koje ni ja ne
znam da mora da ima.
Ako sam za svoje godine u ovoj industriji naucio nesto to je da nista u
networking programiranju nije jednostavno :) I za svaku sitnicu postoji
bar dva tri RFCa koja moras da znas u prste.
[ jablan @ 18.01.2006. 12:42 ] @
Citat:
mmix: Standalone proxy jednostavno vise ne radi, postoji gomila nacina da se zaobidju i zahteva da se svi outbound portovi zatvore kako bi se sprecilo da korisnici jednostavno skinu proxy podesavanja u browserima ili koriste neki od public proxy-a :).

Preteruješ. Ako na gatewayu ne postoji rutiranje ili NAT, nema sile da korisnici zaobiđu proxy. Što se DNS-a tiče, nema potrebe za resolvovanjem, proxy samo treba da prosledi traženi HTTP request dalje, nema potrebe da zna IP.
Citat:
Ako sam za svoje godine u ovoj industriji naucio nesto to je da nista u networking programiranju nije jednostavno :) I za svaku sitnicu postoji bar dva tri RFCa koja moras da znas u prste.

Nije baš... Mislim, jeste ako hoćeš da radiš profi, ali ne mora da znači... Baci pogled:

http://www.codeproject.com/managedcpp/howtoproxy.asp
http://www.codeproject.com/aspnet/HTTPReverseProxy.asp
http://www.c-sharpcorner.com/internet/web_proxy.asp

itd...