Avatar billede hobbez Nybegynder
17. december 2003 - 14:00 Der er 15 kommentarer og
1 løsning

Gæstebog: Fange IP-adresse og blokere for IP-adresse

Jeg er ikke den store ASP-ekspert, men det er da lykkedes mig at lave en gæstebog :o)

Den er ganske simpel: Brugeren udfylder en formular og data gemmes i en MySQL database.

Spørgsmål 1:

Hvordan 'fanger' jeg brugerens IP-adresse, så jeg kan gemme den i databasen?

Spørgsmål 2:

Hvordan bruger jeg så den IP-adresse igen, hvis jeg gerne vil checke om brugeren kommer fra en IP-adresse som jeg tidligere har oplevet spamme min gæstebog med reklamer for andre sites?

Altså - rent logisk - noget i retning af:

Hvis IP adresse findes i liste []
så giv en besked om at han er et fuckhoved
Ellers
giv mulighed for at skrive i gæstebog

eller:

Giv mulighed for at skrive i gæstebog
Hvis IP adresse IKKE findes i liste []
så skriv besked i gæstebog
Ellers
giv besked om at han er en narrøv.


Det er muligvis samme variabel jeg skal bruge til begge dele.

Er det REMOTE_ADDR eller REMOTE_HOST? Hvad er forskellen? Hvordan bruger jeg det i en Form?

/Rob
Avatar billede erikjacobsen Ekspert
17. december 2003 - 14:04 #1
Jeg vil lade andre om teknikken, men foreslå dig en lidt anden fremgangsmåde.
Kommer der indlæg fra en IP, du gerne vil have bannet, så sæt den blot
i gæstebogen, men internt markeret som at den kun må vises for den
pågældende IP. Den person, du bliver generet af vil derfor kunne se indlægget,
tro at han driller dig, men i virkeligheden kan ingen andre se det. Du kan
så automatisk slette efter ½-1 dag.

Er du grov over for denne person, vil han sikkert finde andre måder at
genere dig på, fx fra et andet IP.
Avatar billede hobbez Nybegynder
17. december 2003 - 14:11 #2
Hej Erik

Jeg har selv gjort samme overvejelse, men jeg har brug for at vise ham at jeg IKKE vil accepteret hans indlæg i den pågældende gæstebog.

Han er allerede anmeldt til hans Internet-udbyder og det firma der hoster det websted han reklamerer for.

Men tak for forslaget - havde han været lidt mindre irriterende, så havde det været en farbar vej.

/Rob
Avatar billede hobbez Nybegynder
17. december 2003 - 14:13 #3
Er det så simpelt som Request.ServerVariables(REMOTE_ADDR)?

/Rob
Avatar billede eagleeye Praktikant
17. december 2003 - 18:00 #4
Ja du finde IP adressen med:  Request.ServerVariables(REMOTE_ADDR)?
Hvis du har en tabel i din database men "bad" ip adresser som skal bannes kan du lave det som sådan her:

SQL = "SELECT * FROM banIP WHERE IP = '" &  Request.ServerVariables(REMOTE_ADDR) & "'"
Set rs = Conn.Execute(SQL)
if not rs.EOF then
  'Dum person
else
  Gem indlæg i databasen
end if
Avatar billede erikjacobsen Ekspert
17. december 2003 - 18:30 #5
"jeg IKKE vil accepteret hans indlæg i den pågældende gæstebog" - det er så en
indstilling jeg ikke helt forstår. Man stiller en gæstebog til fri afbenyttelse,
og bliver så sur, når der så er nogen der gør det. Ok, det er så grove
bemærkninger, men man har jo stillet den til rådighed. Det svarer i mine øjne
til at lægge 100 på en bænk i parken, og blive sur hvis den ikke er der
næste dag (overdrivelse fremmer forståelsen .... *g*)
Avatar billede netro Nybegynder
17. december 2003 - 19:21 #6
Håber ikke, at jeg gentager nogen. Men jeg synes, du skulle undlade at banne nogle IP'er. På den måde kan du risikere at genere et helt firma, hvor alle sidder bag samme firewall. Tilsvarende har det ingen effekt, hvis brugeren har skiftende IP.

Smid en cookie på hans maskine og sæt en session-variabel. Det er nemt at omgås, men jeg tror, det er et stort nok irritationsmoment for ham til, at han gider fortsætte i det lange løb.
Avatar billede hobbez Nybegynder
17. december 2003 - 20:40 #7
Erik Jacobsen >> Nu udtaler du dig så om noget du ikke har nok indblik i. Havde du set hans beskeder, så havde du nok også helst set dig fri for dem.

I øvrigt er en gæstebog er IKKE til fri afbenyttelse: Den er til at lægge beskeder til ejeren af webstedet. Ikke til noget som helst andet.

Med din argumentation så skulle jeg vel også finde mig i SPAM fordi jeg har en e-mail adresse som er tilgængelig på Nettet?

eagleeye >> Tak for hjælpen. Læg et svar hvis du vil have point :o)

/Rob
Avatar billede eagleeye Praktikant
17. december 2003 - 21:00 #8
Ok her et svar ;)
Avatar billede hobbez Nybegynder
17. december 2003 - 21:09 #9
Kan jeg nå et tillægsspørgsmål:

Hvad har jeg gjort forkert her:

<input type="hidden" name="ipadresse" value="<%Request.ServerVariables(REMOTE_ADDR)%>">

/Rob
Avatar billede netro Nybegynder
17. december 2003 - 21:11 #10
<%=Request.ServerVariables(REMOTE_ADDR)%>
Avatar billede erikjacobsen Ekspert
17. december 2003 - 21:11 #11
<input type="hidden" name="ipadresse" value="<%=Request.ServerVariables(REMOTE_ADDR)%>">

men det er et dumt sted - en hacker kan sagtens sætte en anden værdi ind.
Du kan bare aflæse den i scriptet der skriver i databasen
Avatar billede netro Nybegynder
17. december 2003 - 21:11 #12
<%=Request.ServerVariables("REMOTE_ADDR")%>
Avatar billede hobbez Nybegynder
17. december 2003 - 21:48 #13
Tak for hjælpen.

/Rob
Avatar billede hobbez Nybegynder
15. januar 2004 - 11:01 #14
Som opfølgning kan jeg oplyse, at jeg ikke længere har problemer med misbrug af  gæstebogen.

Ovenstående har foreløbig ført til at jeg har fanget 3 IP-adresser (de samme der er blevet brugt flere gange = fast IP) og jeg har indberettet brugeren til de respektive tre Internet-udbydere.

Den ene er vendt tilbage og har oplyst at der var tale om en PC på et bibliotek. Biblioteket har nu skærpet reglerne for brugen af PC'en, og noterer navnene på brugerne.

Der har siden kun været forsøgt tilføjet to beskeder i min gæstebog (samme dag fra samme IP - en af de IP'er jeg har logget) fra den pågældende bruger, og han har begge gange fået en speciel 'hilsen', og hans beskeder er blevet logget men bliver ikke vist i gæstebogen.

De sidste uger har jeg ikke hørt spor fra ham :o)

Tak for hjælpen igen.

/Rob
Avatar billede mbsnet Nybegynder
06. oktober 2006 - 20:24 #15
Avatar billede hobbez Nybegynder
07. oktober 2006 - 20:42 #16
Tak for din kommentar, men det er næsten 3 år siden, og din løsning ville ikke have klaret problemet, for det var jo et menneske - omend et lidt sygt af slagsen - der lagde beskeder :o)

Men tak alligevel :o)

/Rob
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