Avatar billede micplus Nybegynder
30. juli 2005 - 17:58 Der er 24 kommentarer og
1 løsning

Spam af weblog # 2

http://www.eksperten.dk/spm/635880 - her har jeg problemer med spam af min weblog.

jeg bliver guidet på vej, og får indsat følgende i den fil, der opdaterer min weblog :

......
if left(Request.ServerVariables("HTTP_REFERER"),23)  <> "http://www._mit_domæne_/" and _
    Request.ServerVariables("HTTP_REFERER") <> "" then
    response.write ""
    else
MittGBrs.Update
MittGBrs.Close
......

Det har bare ikke virket ordentlig - jeg bliver stadig spammet med poker, viagra osv.

hvad gør en klog nu? hvordan holder jeg dette skidt ude fra mine kommentarer?
Avatar billede softspot Forsker
30. juli 2005 - 18:17 #1
Har du prøvet at logge hvad det er for nogle "kunder" der lægger disse indlæg i din log?

Det kan være du kan finde et mønster som sætter dig i stand til at filtrere dem fra. Du kan evt. gemme informationer om alle indlægsydere i en database (evt. sammen med selve indlægget, så du kan se hvor det er relevant at analysere). Jeg mener stadig du burde kunne finde disse i ServerVariables-listen på request-objektet.
Avatar billede softspot Forsker
30. juli 2005 - 18:20 #2
Igen vil jeg anbefale dig at tage et kig på

http://www.w3schools.com/asp/coll_servervariables.asp

og se om der ikke er nogle af de server-variable der kan give dig interessante oplysninger om indlægsyderen. F.eks. Request.ServerVariables("ALL_HTTP")...
Avatar billede nielle Nybegynder
30. juli 2005 - 18:20 #3
Du har angivet et stykke kode ... det ligner til forveksling den kode der blev postet i det oprindelige sprørsmål. Nu er det vel forhåbentligt ikke sådan at du har sat koden ganske umodifiseret ind i din egen kode?
Avatar billede micplus Nybegynder
30. juli 2005 - 18:27 #4
nielle,
den kode jeg har postet her, har jeg selv postet i det første spørgsmål ... det er den kode, som jeg har regnet mig frem til, at der skulle være i min fil. Som jeg har forstået det, checker jeg at referer kommer fra mit domæne, og _kun_ hvis dette er sandt, opdateres DB'en med MittGBrs.Update

softspot,
jeg har pt. 4 forskellige IP adresser logget - og vil helst undggå at skulle sortere fra på den måde. Kigger på dit link
Avatar billede softspot Forsker
30. juli 2005 - 18:33 #5
Jeg tænkte også ligeså meget på om der var andre kendetegn ved de brugre som poster spam, f.eks. useragent, user-info eller noget i den stil. Men se om du ikke kan finde noget i servervariables som kan hjælpe dig med at identificere disse "maskiner"...
Avatar billede nielle Nybegynder
30. juli 2005 - 18:36 #6
undskylder, så ike lige at det var dig selv som postede. Jeg ville dog mene at det skulle være sådan her:

If Left(Request.ServerVariables("HTTP_REFERER"), 23) <> "http://www._mit_domæne_/" Then
        Response.Write ""
    Else
        MittGBrs.Update
        MittGBrs.Close
Avatar billede micplus Nybegynder
30. juli 2005 - 18:45 #7
nielle,
jeg prøver at ændre min kode, til det du forslår - og ser så, over et par dage, om det virker.

softspot,
jeg vil prøve at kigge på det - meeeen ... er ganske grøn i ASP, så det er nok begrænset hvad jeg kan kode af ting og sager, der kan give mig relevant info.
Avatar billede softspot Forsker
30. juli 2005 - 18:49 #8
Fair nok :)
Avatar billede nielle Nybegynder
30. juli 2005 - 19:06 #9
Som du kode var før så tillod du at requests med:

Request.ServerVariables("HTTP_REFERER") = ""

- fik lov til at poste. Det var vel ikke meningen?

Jeg har dog ingen anelse om hvorvidt denne rettelse er nok til at løse dit problem.

Iøvrigt kan kode-stumpen:

If Left(Request.ServerVariables("HTTP_REFERER"), 23) <> "http://www._mit_domæne_/" Then
    Response.Write ""
Else
    MittGBrs.Update
    MittGBrs.Close

- forsimples til:

If Left(Request.ServerVariables("HTTP_REFERER"), 23) = "http://www._mit_domæne_/") Then
    MittGBrs.Update
    MittGBrs.Close
Avatar billede micplus Nybegynder
30. juli 2005 - 20:44 #10
nielle,
det virkede ikke - DB'en er allerede blevet spammet :(

Nogle gode idéer ?
Avatar billede nielle Nybegynder
30. juli 2005 - 22:41 #11
Hvordan submitter du til din blog. Formentlig fra en form. I denne kunne kan du jo så placere et hidden felt med en eller anden værdi. Når du modtager et submit, så tjekker du for om dette hidden-felt er tilstede blandt input.
Avatar billede micplus Nybegynder
01. august 2005 - 21:03 #12
Jeg prøver nu det du foreslog, nielle - vender tilbage iøbet af et par dage med respons.
Avatar billede micplus Nybegynder
04. august 2005 - 21:58 #13
ØV!
Det holdt 3 dage, og så væltede det ind igen ... jer er klar til at opgive :(

Hvor finder jeg en spam-sikker kode ?
Avatar billede nielle Nybegynder
07. august 2005 - 10:47 #14
Hvis det holdt 3 dage så havde det da en vis virkning.

Det er svært at beskytte effektivt, hvis man ikke ved hvorfra angrebet kommer. Det lyder dog som om at der er tale om en eller anden bot som simpelthen udfylder din form og submitter den. Det eneste effektive mod den slags er vel at kræve en eller anden slags form for login før at der kan postes.
Avatar billede micplus Nybegynder
27. august 2005 - 18:44 #15
softspot, nielle

Kunne i ikke begge smide et svar, så jeg kan lukke her ?
Avatar billede softspot Forsker
27. august 2005 - 21:01 #16
Ingen point til mig, jeg kunne jo desværre ikke hjælpe dig. Ellers tak :)
Avatar billede nielle Nybegynder
27. august 2005 - 21:48 #17
Jeg vil da stadig gerne hjælpe dig med at finde en løsning på problemet, men det kræver jo noget respons fra dig. :^)

Men bortset fra det, så har jeg samme holdning som softspot, så hvis du meget gerne vil lukke spørgsmålet så lægger du bare et svar selv og tager dine point tilbage.
Avatar billede micplus Nybegynder
27. august 2005 - 23:11 #18
nielle,
jeg regnede med, at denne tråd ikke kom videre, hvorfor jeg oprettede http://www.eksperten.dk/spm/643509 i håb om et script, jeg kunne modifiere, så det passede ind... Jeg vil nødigst, at det er nødvendigt med login som du nævner tidligere.
Avatar billede nielle Nybegynder
28. august 2005 - 08:20 #19
Så længe du ikke vil have login så er det simpelt at angribe din blog med spam; Spammer-programmet simulere simpelthen en gængs browser, laver en request på siden med din form, udfylder felterne med viagra-reklamer og trykker på submit-knappen. Alt hvad der kan gøres med mus og keyboard kan også gøres automatisk via et program, uden at du i din ende ville kunne skelne forskel.

Faktisk er det kun login som kan beskytte i mod dette, og det endda kun med et login-system af den slags hvor at brugeren skal bekræfte sin menneskelighed ved at gennemskue en kode blandet med en masse grafik og indtaste denne i et felt samtidig med registreringen.

Hvis du gerne vil beskytte dig, uden login, så er der faktisk kun muligheden for at stoppe spam-programmet allerede når det requester din form. Dette kan du f.eks. gøre ved at registrere brugerens IP-adresse og så lukke for de IP-adresser som spammer.

Imidlertid er denne strategi nok også dømt til at mislykkes, ide det meste spam bliver sendt fra en hær af privat-PC'ere som, uden at brugerene er bevist om det, er inficeret med spam-robotter, og du vil derfor hurtigt ende med at skulle banen den ene IP-adresse efter den anden.

Et lille trick du måske kunne bruge... Dem som spammer din blog er formentlig programmer, og odds er at der slet ikke har været et menneske inde over processen. Din blog er simpelhen fundet via Google, og så er det bare for programmet at opsøge siden og udfylde felterne. Det hele foregår pr. fuld-automatik, og derfor vil et trick som sætter bare en lille kæp i hjulet på det automatiske kunne stoppe dette:

Hvergang du viser formen, så opretter du samtidig en tilfældig kode. Denne vises på siden sammen med en kommentar om at folk skal bevise at de ikke er en maskine ved at kopiere koden ned i et input-felt i formen. Det kunne se nogenlunde sådan her ud:

Den hemmelige kode er:

wv54u

Kopier den ned nedenstående felt, for at bevise at du er et menneske:

<form>
<input type="hidden" name="verifyKode" value="wv54u">
<input type="text" name="indtastKode">
... og så resten af din fomular.
<input type="submit">
</form>

Når der så submittes, så verificere du verifyKode og indtastKode, og kun hvis de indeholder den samme værdi, kommer beskeden på din blog.
Avatar billede micplus Nybegynder
28. august 2005 - 15:52 #20
Det er allerede afprøvet - jeg medsendte en checkkode med value "421" som hidden fra min inputbox  - brugte følgende i min verifikation :

    if left(Request.ServerVariables("HTTP_REFERER"),23)  <> "MIN_WEB_SIDE" then
    response.write ""
    else
    If Request.Form("check")="421" THEN
      MittGBrs.Update
    MittGBrs.Close
    else
    response.write ""
End if
End if

Det holdt i et par dage, hvorefter at det væltede ind igen.
Avatar billede micplus Nybegynder
28. august 2005 - 15:57 #21
ahh .. du mener altså et dobbeltcheck af værdien "wv54u" (så ikke liige straks det!) ... det prøver jeg lige.
Avatar billede nielle Nybegynder
28. august 2005 - 18:06 #22
Det jeg satser på er at "kravet om intelligens" er nok til at afspore de fleste automatiske spam-programmer. Hvis der ikke er nogen person til at læse den random kode, og forstå at denne skal kopieres til input-feltet, så bliver det jo heller ikke gjort.
Avatar billede micplus Nybegynder
01. september 2005 - 22:39 #23
nielle,
indtil videre virker det fint. Jeg har på side '1' indsat et gif-billede med en tekst, som jeg beder folk gengive før end at de poster. På side '2' (som opdaterer DB'en) checkes der at value í det givne inputfelt = "xxxxx" - hvis ikke, opdaterers der ikke.

Det virker fint.

Såå ... jeg tror at den er OK nu - ikke helt, som du foreslog med et "dobbeltcheck", men dog derhenad.

Jeg mener derfor at det er tid til at lukke her - så nu må du sgu' ;) smide det svar!
Avatar billede nielle Nybegynder
01. september 2005 - 22:40 #24
Nice :^)

... og et svar :^)
Avatar billede micplus Nybegynder
01. september 2005 - 22:45 #25
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