Avatar billede exp-ralle Nybegynder
24. juli 2002 - 19:37 Der er 13 kommentarer og
1 løsning

Flere ip'ere i EN variabel

Hejsa...


Jeg så en der havde et lille script der kunne banne en ip (det var i php) altså hvis Brugerens ip var en af de 2 der var difineret i ip variablen så blev man sendt videre til en eller anden side.
Måden han delte de 2 ip'er på i ip variablen var:
$ip = "123.456.789.012 | 123.456.789.120"
altså med en |
men hvordan kan man dele en variabel på den måde i ASP ?

Ralle
Avatar billede Slettet bruger
24. juli 2002 - 19:53 #1
intIP = Request.Servervaribles("REMOTE_HOST")
If intIP = "123.456.789.012" OR intIP = "123.456.789.120" Then
Response.Redirect "siden.asp"
End If
Avatar billede Slettet bruger
24. juli 2002 - 19:54 #2
Sorry
intIP = Request.ServerVariables("REMOTE_ADDR")
Avatar billede exp-ralle Nybegynder
24. juli 2002 - 19:57 #3
jepjep det kan jeg jo også sagtens selv lave det jeg ikke kan finde ud af er at ip'erne ligger i en variablen ip og det jeg ikke kan finde ud af det er hvordan man deler de 2 værdier... altså:

Dim ip
ip = "123.456.789.012", "123.456.789.120"

If Request.Servervariables("Remote_Addr") = ip Then
Response.Write "Du er banned hahaha!!!"
End if


Kan dette lade sig gøre ?
Altså det med ip = ip = "123.456.789.012", "123.456.789.120"
Avatar billede exp-ralle Nybegynder
24. juli 2002 - 19:59 #4
Hvis det ikke kan lade sig gøre hvordan gør man det så ?
Avatar billede soes Nybegynder
24. juli 2002 - 20:07 #5
Dette var nok en bedre løsning som ikke er begrænset af et bestemt antal:

<%
strIp = Request.ServerVariables("REMOTE_ADDR")
strBanIp = "123.456.789.012|123.456.789.120|192.168.200.1|192.168.1.6|127.0.0.1"

Arr = Split(strBanIp, "|")

For I = 0 To UBound(Arr)
If strIp = Arr(I) THEN
Response.Write("Ingen adgang for: " & Arr(I) & "<br>" & vbcrlf)
End If
Next
%>

/Søren Søndergård
Avatar billede exp-ralle Nybegynder
24. juli 2002 - 20:09 #6
soes kan det ikke gøres nemmere ?
Avatar billede soes Nybegynder
24. juli 2002 - 20:11 #7
jo, det kan det sagtens det var bare lige det som faldte mig ind først, du kan også gøre det på denne måde:

<%
strIp = Request.ServerVariables("REMOTE_ADDR")
strBanIp = "123.456.789.012|123.456.789.120|192.168.200.1|192.168.1.6|127.0.0.1"

If InStr(strBanIp, strIp) THEN
Response.write("Ingen adgang for:...")
End If

Men hvis der er tale om en meget lang række ip adresser er det nok ikke så smart en ide.

/Søren Søndergård
Avatar billede exp-ralle Nybegynder
24. juli 2002 - 20:12 #8
Altså lidt ligesom det her:

ip = "123.456.789.012", "123.456.789.120"

der må der være et skille tegn i ASP ?
Avatar billede soes Nybegynder
24. juli 2002 - 20:13 #9
en varibel kan ikke have flere forskellige værdier, så skal du over at arbejde i et array, på den måde som du angiver det.
Avatar billede exp-ralle Nybegynder
24. juli 2002 - 20:15 #10
Hmm... det php script jeg så var uden arrays

og der delte han vist bare de 2 ip'er sådan her:

$ip = "ip.1.2.3|ip2.1.2.3" ellers var det:
$ip = "ip.1.2.3 | ip2.1.2.3"
Avatar billede soes Nybegynder
24. juli 2002 - 20:18 #11
hvad er der i vejen med de 2 foregående scripts, de opfylder begge dine behov?
Avatar billede exp-ralle Nybegynder
24. juli 2002 - 20:19 #12
jep du har ret... skulle bare lige teste dem (sorry)
men smid lige et svar og kan du så ikke fortælle mig hvad den der InStr funktion gør ?
Avatar billede soes Nybegynder
24. juli 2002 - 20:20 #13
der ligger et svar i den ved InStr. Den gør som navnet antyder. Jeg tester på om der i vores streng, strBanIp, skulle være noget som svare til brugerens ip adresse. Hvis der er det så skal den komme med en fejl.

/Søren Søndegård
Avatar billede exp-ralle Nybegynder
24. juli 2002 - 20:23 #14
Mange tak
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester