Avatar billede marui Nybegynder
24. august 2005 - 21:55 Der er 32 kommentarer og
3 løsninger

IP adresse

Hej eksperter,

Hvorfor bliver jeg sendt videre til den sidste side i 'if not' selvom ip-adressen i 'if' tilhører mig?

function temporaryaccess

if request.ServerVariables("83.73.66.68") then
response.redirect("http://www.nshardball.dk/temp/default.asp")
end if

if not request.ServerVariables("83.73.66.68") then
response.redirect("http://www.nshardball.dk")
end if

end function
Avatar billede benson Nybegynder
24. august 2005 - 22:01 #1
Der er ingen variabler der hedder "83.73.66.68" ....
2 sek.. finder lige variabelnavn
Avatar billede marui Nybegynder
24. august 2005 - 22:03 #2
Så skulle jeg jo skrive REMOTE_HOST men så finder den jo bare den aktuelle?!
Avatar billede cpufan Juniormester
24. august 2005 - 22:03 #3
if request.ServerVariables("REMOTE_ADDR")= "83.73.66.68" then
etellerandet
else
nogetandet
end if
Avatar billede lap Nybegynder
24. august 2005 - 22:03 #4
REMOTE_ADDR
Avatar billede benson Nybegynder
24. august 2005 - 22:03 #5
Request.ServerVariables("REMOTE_ADDR")
Avatar billede tubber Juniormester
24. august 2005 - 22:08 #6
REMOTE_HOST og REMOTE_ADDR giver i de fleste tilfælde samme resultat, dog kan REMOTE
_Host give et andet, hvis den webserver som man kommer ind på understøtter der.

Lad os lave et eksempel (man går ind på siden fra Google.dk's server:
Response.Write(Request.ServerVariables("REMOTE_ADDR")
Response.Write(Request.ServerVariables("REMOTE_HOST")

på siden kan det give følgende resultat:
216.239.59.104
216.239.59.104

Dog kan IIS sættes op til at den resolver hosts, så det kan komme til at se sådan ud:
216.239.59.104
google.dk

ved ikke om www. er med.........men er det aktiveret i IIS så kan den give hostnavn..
Avatar billede marui Nybegynder
24. august 2005 - 22:11 #7
Nu ser det da ud til at jeg kom lidt længere.

Men hvorfor får jeg nu denne besked i Firefox?!

"Advarsel - Viderestillingsgrænsen for denne URL er overskredet. Kan ikke hente den ønskede side. Dette kan måske evt. betyde at cookies er blokeret!"

Og i IE, bliver den bare ved med at loade i tomgang!


Sourcecode:
function temporaryaccess
       
if Request.ServerVariables("REMOTE_ADDR")= "83.73.66.68" then
response.redirect("http://www.nshardball.dk/temp/default.asp")
end if

if Request.ServerVariables("REMOTE_ADDR")= "" then
response.redirect("http://www.nshardball.dk")
end if
end function
Avatar billede marui Nybegynder
24. august 2005 - 22:13 #8
Tada - fik ikke læst dit sidste indlæg. skiftede bare fra 'addr' til 'host', og VUPTI!

Mange tak for hjælpen!

Ligger tubber et svar?
Avatar billede marui Nybegynder
24. august 2005 - 22:16 #9
Virker ikke helt alligevel. Bliver smidt ned til 'else' selvom ip-adressen er min:

    function temporaryaccess
    if Request.ServerVariables("REMOTE_HOST")= "83.73.66.68" then
    response.redirect("http://www.nshardball.dk/temp/default.asp")
    else
    response.redirect("http://www.nshardball.dk")
    end if
    end function
Avatar billede tubber Juniormester
24. august 2005 - 22:22 #10
if Request.ServerVariables("REMOTE_HOST")<> "83.73.66.68" then
    response.redirect("http://www.nshardball.dk")
    else
    response.redirect("http://www.nshardball.dk/temp/default.asp")
    end if

Prøv at vend den om
Avatar billede tubber Juniormester
24. august 2005 - 22:23 #11
og hvad skal man gå ind på for det script bør kører
Avatar billede marui Nybegynder
24. august 2005 - 22:28 #12
http://www.nshardball.dk/temp/default.asp - Her kører scriptet. Altså hvis ip'en er min, så forbliver jeg på siden, men hvis ip'en er en hvilken som helst anden, så bliver de smidt væk!
Avatar billede tubber Juniormester
24. august 2005 - 22:38 #13
uanset hvad link jeg tager ender jeg på samme side
Avatar billede benson Nybegynder
25. august 2005 - 00:20 #14
prøv med en
if InStr("83.73.66.68",Request.ServerVariables("REMOTE_HOST"))>0 then
Avatar billede marui Nybegynder
25. august 2005 - 14:50 #15
Meningen er at det kun er min ip-adresse, som skal fortsætte på www.nshardball.dk/temp/default.asp

Alle andre ip-adresser skal sendes videre til www.nshardball.dk

Men det virker stadig ikke. Har prøvet med overstående kode, men bliver stadig smidt til www.nshardball.dk selvom den angivede ip tilhøre mig!


    function temporaryaccess
    if Request.ServerVariables("REMOTE_HOST")= "83.73.66.68" then
    response.redirect("http://www.nshardball.dk/temp/default.asp")
    else
    response.redirect("http://www.nshardball.dk")
    end if
    end function
Avatar billede tubber Juniormester
25. august 2005 - 16:10 #16
er du sikker på IP er en streng og ikke en tal kombination prøv med:

function temporaryaccess
    if Request.ServerVariables("REMOTE_ADDR") = 83.73.66.68 then
    response.redirect("http://www.nshardball.dk/temp/default.asp")
    else
    response.redirect("http://www.nshardball.dk")
    end if
    end function
Avatar billede tubber Juniormester
25. august 2005 - 16:10 #17
eller med:
function temporaryaccess
    if Request.ServerVariables("REMOTE_ADDR")= '83.73.66.68' then
    response.redirect("http://www.nshardball.dk/temp/default.asp")
    else
    response.redirect("http://www.nshardball.dk")
    end if
    end function
Avatar billede tubber Juniormester
25. august 2005 - 16:13 #18
og hvordan ser den ud den side du har din function i ?

du kan evt teste med en asp side der kun indeholder følgende:

    if Request.ServerVariables("REMOTE_HOST")= "83.73.66.68" then
    response.redirect("http://www.nshardball.dk/temp/default.asp")
    else
    response.redirect("http://www.nshardball.dk/main.asp")
    end if

og kald så den du har der hedder default.asp for main.asp og så gem den side der KUN indeholder ovenstående og INGEN HTML koder og kald den default....
Avatar billede marui Nybegynder
25. august 2005 - 16:55 #19
Er ikke helt med på hvad du mener?!

Har en fil der hedder functions.asp. I den fil ligger hele min funktion i.
Jeg kalder den så i default.asp med 'temporaryaccess()'!

Sådan fungerer det.

Prøvede lige med din sidste post. Den sender fint videre til main.asp, men jeg skulle gerne blive på default.asp :)

----
function temporaryaccess
    if Request.ServerVariables("REMOTE_HOST")= "83.73.66.68" then
    response.redirect("http://www.nshardball.dk/temp/default.asp")
    else
    response.redirect("http://www.nshardball.dk/main.asp")
    end if
    end function
Avatar billede marui Nybegynder
25. august 2005 - 18:07 #20
forhøjer point!
Avatar billede cpufan Juniormester
25. august 2005 - 18:15 #21
prøv på en side at få udskrevet remote_host altså:

<%response.write Request.ServerVariables("REMOTE_HOST")%>

for at se hvilken ip den kommer op med
Avatar billede marui Nybegynder
25. august 2005 - 18:18 #22
Den udskriver så: 83.73.66.68.ip.tele2adsl.dk

Skal jeg måske også skrive '.ip.tele2adsl.dk' eller hvad?
Avatar billede marui Nybegynder
25. august 2005 - 18:19 #23
Eller skal jeg bare skrive REMOTE og udlade HOST?
Avatar billede cpufan Juniormester
25. august 2005 - 18:27 #24
skift host til ADDR
Avatar billede cpufan Juniormester
25. august 2005 - 18:29 #25
function temporaryaccess
    if Cstr(Request.ServerVariables("REMOTE_ADDR"))= "83.73.66.68" then
    response.redirect("http://www.nshardball.dk/temp/default.asp")
    else
    response.redirect("http://www.nshardball.dk")
    end if
    end function
Avatar billede cpufan Juniormester
25. august 2005 - 18:31 #26
eller:
function temporaryaccess
    if Cstr(Request.ServerVariables("REMOTE_HOST"))= "83.73.66.68.ip.tele2adsl.dk" then
    response.redirect("http://www.nshardball.dk/temp/default.asp")
    else
    response.redirect("http://www.nshardball.dk")
    end if
    end function
Avatar billede marui Nybegynder
25. august 2005 - 18:55 #27
Så kommer der bare en advarselsbox:

"Advarsel - Viderestillingsgrænsen for denne URL er overskredet. Kan ikke hente den ønskede side. Dette kan måske evt. betyde at cookies er blokeret!"
Avatar billede tubber Juniormester
26. august 2005 - 01:46 #28
Virker nok til den første det er nok fordi du kun kan lave x antal vidrestillinger
Avatar billede marui Nybegynder
26. august 2005 - 19:45 #29
"Virker nok til den første det er nok fordi du kun kan lave x antal vidrestillinger"

Det kan da ikke være rigtigt?!

Så kan jeg jo ikke bruge mit script til noget!
Avatar billede cpufan Juniormester
26. august 2005 - 20:49 #30
det er vel fordi du har den liggende på  en side som den viderestiller til, og dermed bliver ved med at viderestille
Avatar billede tubber Juniormester
26. august 2005 - 21:22 #31
Jeg kunne nu forestille mig det er noget med at man vil prøve at begrænse noget der vidrestiller til pron sites eller andet.......ved det selvfølgelig ikke.....
Avatar billede marui Nybegynder
27. august 2005 - 10:38 #32
cpufan: Hvordan undgår jeg så at den looper sig selv, hvis det er tilfældet?
Avatar billede cpufan Juniormester
27. august 2005 - 10:51 #33
http://www.nshardball.dk/temp/default.asp

ligger du bare dette i toppen:
<%
  if Cstr(Request.ServerVariables("REMOTE_HOST"))<> "83.73.66.68.ip.tele2adsl.dk" then response.redirect("http://www.nshardball.dk")
    end if
%>

Så har du sikret at det kun er dig der har adgang til den side,
alle andre sendes til forsiden, et niveau længere oppe.

og du behøver ikke at køre det som en funktion,
den laver testen så snart man lander på siden.
Avatar billede cpufan Juniormester
27. august 2005 - 10:56 #34
og slet bare den anden funktion du har liggende.....

det er kun dette her du har brug for:
<%
  if Cstr(Request.ServerVariables("REMOTE_HOST"))<> "83.73.66.68.ip.tele2adsl.dk" then response.redirect("http://www.nshardball.dk")
    end if
%>
Avatar billede marui Nybegynder
29. august 2005 - 20:57 #35
Det virker strålende. Point vil blive fordelt :)

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