WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Stoppa voting-bot (https://www.wn.se/forum/showthread.php?t=8331)

FredrikMH 2005-06-05 23:43

Fick ett litet problem idag på topgamesites.net. En sida fick på ett par timmar 400 röster men det påverkade inte min räknare något alls. Alltså misstänks sidan för att fuska och efter letande i logg filen så tar jag det för givet. Alla normala röster kommer från deras inloggningssida och det ser rätt ut. Men det kommer även röster från en blank sida med endast en länk till min lista.

ferion.com /portal/news.php?code=blaat

Alla röster som kommer därifrån har exakt samma useragent, och inte vilken som hellst :D
210.15.227.8 - - [05/Jun/2005:19:39:07 +0200] "GET /mmorpg__mpog HTTP/1.1" 200 1840 "[samma url som ovan]" "$USER_AGENT"

Detta ip återkommer om och om igen på 2 rader i loggen. Den ena är GET och den andra är POST. Självklart fusk och mitt script kommer endast ihåg den som röstade senast på en sida vilket gör att 2ip räcker. Detta ska jag dock ändra för att dra ner möjligheterna.

Det är flera ipn som kommer från den nämda sidan och alla återkommer om och om i loggen med jämna mellanrum. Så nu undrar jag om ni har något smart sätt att bli immun mot bottar. Hela mitt script bygger på att det är en referrer för annars kan man inte vota alls så det tar bort möjligheten från en del proxys då de tar bort referrern (tror jag).

Lite hjälp tack :D

kullervo 2005-06-06 00:00

Tillåt bara en röst per IP-adress per dygn.

FredrikMH 2005-06-06 00:45

Citat:

Originally posted by kullervo@Jun 6 2005, 00:00
Tillåt bara en röst per IP-adress per dygn.
Jo visst men finns det stoppar ändå inte allt :) Kan man inte göra något som inte en bot klarar av. Kan ju alltid lägga in en text på en bild som man ska skriva ner. Tror iof inte det är så uppskattat

kullervo 2005-06-06 01:13

Om du kör nån javascript-check så kanske du får bort ännu fler. Men du lär ju slippa 99% av alla försök om du sätter en limit på max 1 röst per IP-adress och per dygn.

grazzy 2005-06-06 01:30

Det finns även ett gäng X-flaggor som sätts i headern av vissa proxies.. kan vara värt att kolla på.

FredrikMH 2005-06-06 02:19

Man skulle kunna göra en lista på alla votes som går igenom och prova ansluta på vanliga portar som proxys använder för att kontrollera om det är en proxy med. Har dock ingen aning om hur man gör det i php ;)

Tack för tipset grazzy

hnn 2005-06-06 02:51

Citat:

Originally posted by FredrikMH@Jun 5 2005, 23:43
Alla röster som kommer därifrån har exakt samma useragent, och inte vilken som hellst :D
210.15.227.8 - - [05/Jun/2005:19:39:07 +0200] "GET /mmorpg__mpog HTTP/1.1" 200 1840 "[samma url som ovan]" "$USER_AGENT"

Om alla hade samma useragent, varför inte bara spärra den?

FredrikMH 2005-06-06 04:25

Citat:

Ursprungligen postat av hnn
Citat:

Ursprungligen postat av FredrikMH
Alla röster som kommer därifrån har exakt samma useragent, och inte vilken som hellst :D
210.15.227.8 - - [05/Jun/2005:19:39:07 +0200] "GET /mmorpg__mpog HTTP/1.1" 200 1840 "[samma url som ovan]" "$USER_AGENT"

Om alla hade samma useragent, varför inte bara spärra den?

För att det förmodligen bara är en bugg. Vem sätter "$USER_AGENT" som UserAgent för en sådan bot? Så det hade bara löst problemet tillfälligt och det hade dessutom inte stoppat andra fall.

Jonas 2005-06-06 07:32

Vidarutveckla kullervos ide med javascript.

Ta bort Submit knappen. Ersätt den med en länk: Rösta

Många botar klarar inte av javascript och som kullervo säger, det lär ta bort 99% utav fallen. Vill du ha bort den sista % också så får du lägga till bild verifiering.

zoran 2005-06-06 09:20

Citat:

Originally posted by kullervo@Jun 6 2005, 00:00
Tillåt bara en röst per IP-adress per dygn.
Låter jobbigt för alla som måste använda proxy för att komma åt hemsidan.

(Exempelvis alla Ericssonanställda).

/Zoran


Alla tider är GMT +2. Klockan är nu 14:15.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson