Kan nån hjälpa mig med ett problem?
Jag har ett Intranät vilket de som sitter inne på kontoret kan komma åt utan problem. Alltså alla med ett visst IP-nummer ska komma åt sajten. De som sitter ute på uppdrag däremot måste logga in. De med andra okända IP-nummer alltså. Servern med sajten finns på kontoret. Hur löser jag detta på snyggaste sätt? Tacksam för all hjälp jag kan få.
Jag skulle tro att de flesta datorer inne på intranätet har de samma 7 första siffror typ
[red]
192.168
[/red]
eller nått sånt, så då borde du kunna kolla på varje sida om det ip nummret stämmer överens eller om man har loggat in vilket jag gissar att du satt en session om man lyckats med
[red]
If NOT Cbool(Session("permission")) = true OR Left(request.servervariables("REMOTE_ADDR"), 7) ="192.168") Then Response.Redirect "loggin.asp"
[/red]
Då blir följdproblemet detta:
IP-nummret kan vara:
känd siffra.känd siffra.känd siffra.1-255
Alltså, de första tre känner jag till med den fjärde kan vara allt mellan 1 och 255. Ska jag då skriva 255 rader?
Eller kan man skriva:
If intIP = "siffra.siffra.siffra.*" Then
Använder intranätet nått sorts winNT inloggning när man loggar in på intranätet? isåfall så skulle du kolla om den inloggningen är rätt och ge dem tillåtelse att besöka sidorna.
Ok, lättare om jag skickar med kod antar jag:
labbar för närvarande med detta:
<%
ip = Request.Servervariables("REMOTE_ADDR")
IF ip = "192.168.20.*" then
Response.Redirect "welcome.asp"
Else
Response.Redirect "logg_in.asp"
End if
%>
Stjärnan ska alltså stå för en siffra mellan 1-255 men det funkar inte.
[RED]<%
ip = Request.Servervariables("REMOTE_ADDR")
If Left(ip, 11) = "192.168.20." Then
Response.Redirect "welcome.asp"
Else
Response.Redirect "logg_in.asp"
End if
%>[/RED]
Nu är inte jag nån expert på Intranät eller sånt ;) men jag har för mig att 192.168 är intranät ipnummer :OO .
Så om du kollar på det jag skrev förut så är det precis så det funkar. dvs om dem första 7 siffrorna i besökarens IP är 192.168 så är det ganska säkert att han/hon sitter på erat intranät.
Detta är dock inte nått jag är expert på som jag sa, så om nån vet att jag har fel så SKRIK till :)
Hur var det igentligen inloggningen på deras intranät är det nån sorts winNT/winXP inloggning?
Palle, jag får inte din lösning att funka. Hamnar på logg_in-sidan trots att jag har rätt IP....
<%
ip = Request.Servervariables("REMOTE_ADDR")
If Left(ip, 11) = "192.168.101." Then
Response.Redirect "welcome.html"
Else
Response.Redirect "logg_in.html"
End if
%>
Icaaq; jag får expected then på din kod. Varför?? Suck...
Nu är inte jag nån expert på Intranät eller sånt ;) men jag har för mig att 192.168 är intranät ipnummer :OO .
Så om du kollar på det jag skrev förut så är det precis så det funkar. dvs om dem första 7 siffrorna i besökarens IP är 192.168 så är det ganska säkert att han/hon sitter på erat intranät.
Detta är dock inte nått jag är expert på som jag sa, så om nån vet att jag har fel så SKRIK till :)
Hur var det igentligen inloggningen på deras intranät är det npn sorts winNT/winXP inloggning?
mvh icaaq
192.168.xxx.xxx är väl det vanligaste som brukar användas i 'intranät' eller interna windowsnät. Ofta tilldelar en dhcp-server ett sådant IP-nummer.
Problemet är väl då att om någon kommer utifrån brandväggen så kommer ju denna inte få ett sådant ip-nummer; utan troligtvis ett skarpt ip-nummer, antingen från besökarens egen dator eller dennes brandvägg om han/hon har en sådan.
[red]If NOT Cbool(Session("permission")) = true OR Left(Cstr(request.servervariables("REMOTE_ADDR")), 11) ="192.168.101." Then
Response.Redirect "loggin.asp"
End If
[/red]