14. april 2004 - 16:27Der er
21 kommentarer og 3 løsninger
Ip login
Heysa er igang med at lave ip login i asp :) har lavet noget kode der ser sådan ud: login.asp <!-- #include file="admin.asp" --> <% if rs("ip") = AdminIP1 then Response.Redirect "side.asp" else Response.Redirect "fejl.asp" end if %>
og admin.asp: <% dim AdminIP1 dim AdminIP2 AdminIP1 = "BIIP" ' din ip "" AdminIP2 = "BIIP" ' din ip "" %> for bare siden kunne ikke vises fejl :( håber der er en der kan hjælpe
Jeg går ud fra at det du gerne vil er at sammenline IP adressen fra db med den fra den computer der vil logge ind har. JEg kan ikke se at du henter ip adressen fra login computeren. Det gør du med nedenstøende linjer.
'Henter IP adressen både hvis der er proxy og ikke Request.ServerVariables("Remote_addr") Request.ServerVariables("HTTP_X_FORWARDED_FOR")
det link du har sent virker ikke. men jeg kan ikke forstå, at hvis du på login siden har følgende kode til at stå skulle det virke
<% ip=rs("ip") if ip = Request.ServerVariables("Remote_addr")or ip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") then Response.Redirect "side.asp" else Response.Redirect "fejl.asp" end if %>
og under den forudsetning at de adresser der står i db er korekte og i den rigtige form
login.asp <!-- #include file="admin.asp" --> <% if Request.ServerVariables("Remote_addr") = AdminIP1 or Request.ServerVariables("Remote_addr") = AdminIP2 then Response.Redirect "side.asp" else Response.Redirect "fejl.asp" end if %>
og admin.asp: <% dim AdminIP1 dim AdminIP2 AdminIP1 = "BIIP" ' din ip AdminIP2 = "BIIP" ' din ip %>
Så vidt jeg forstår har du, i admin.asp, hardcoded 2 ip-adresser hvorfra det er tilladt at have adgang til 'side.asp' (hvad det nu er for en størrelse)
Når en bruger har klikket sig ind på 'login.asp' bliver brugerens ip-adresse valideret i forhold til de acceptable ip-adresser defineret i 'admin.asp' og disse er jvf. spm.
AdminIP1 = "BIIP" ' AdminIP2 = "BIIP" '
I din login.asp skal din kode så se ud som følger
<% 'remoteIP er her den adresse som potentiel bruger logger ind fra remoteIP = request.servervariable("REMOTE_ADDR")
'denne valideres mod de godkendte ip's If (remoteIP = adminIP1) or (remoteIP = adminIP2) then 'ip match Response.Redirect "side.asp" else 'ip no match Response.Redirect "fejl.asp" end if
%>
Denne stump kode vil validere remoteIP mod adminIP1 og adminIP2 og kun hvis den ene eller den anden matcher bliver man redirectet til 'side.asp' ellers til 'fejl.asp'
her er et eks. der virker <% 'her skriver den din aktueller ip adresse response.write Request.ServerVariables("Remote_addr") &"<br>" response.write Request.ServerVariables("HTTP_X_FORWARDED_FOR")&"<br>"
'her skriver du den ip adresser du har fået ved te to overstående linjer ip="xxx.xxx.xxx.xxx" 'dette er din ip
'hvis variablen ip stemmer overens skriver den side.asp hvis ikke fejl.asp if ip = Request.ServerVariables("Remote_addr") or ip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") then response.write "side.asp" else response.write "fejl.asp" end if
HTTP_X_FORWARDED_FOR = en valgfri http header som en proxy server kan sætte på.
Og som jeg sagde før, hvis man kun laver authentication på denne, skal man blot kende admin's ip, og man kommer uhindret ind..
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.