17. december 2003 - 14:00Der 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?
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.
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
"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*)
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.
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.
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
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.