Autor Zpráva
cistax
Profil
Dobrý den, mám problém se spamovacími roboty na mém Webu. Zkoušel jsem to oštřit javascriptem, bannovat to nemůžu, protože to má na Ip nejakou houpacku a pokazde to ma jinou. Nevíte někdo prosím vás jak je mam zastavit? (jedna se o komentare pod clanky, zatim) Předem díky
imploder
Profil
cistax
Javascriptová ochrana jak ji máš (javascriptem doplňováný kód + jsem/nejsem bot) nezabírá?
janick
Profil
Já bych to neřešil pomocí javascriptu, protože ten se dá v prohlížeči vypnout. Podobné věci řeším přes php.
cistax
Profil
uz se mi to mozna podarilo, ta ochrana jak se pta imploder, tak buhuzel nezabira, zda se ze je to trochu inteligentnejsi nez doposud byli ostatni boti
cistax
Profil
Tak jeste zmena prosli i pres to radionbuttonove prepinani, mrknete se lidi prosim do zdrojaku a jeste neco navrhnete, díky
Joker
Profil
cistax
Ochrana proti spamu se tu už párkrát řešila, snad to půjde ještě dohledat.

Nějaké tipy:
- Javascriptová ochrana, jako je tady na webu (viz kód stránky).
- Případně jednodušší verze: nějaké políčko s lákavým jménem (třeba "url" nebo "website" nebo tak) s popiskem "nevyplňujte", pole i popisek skryté přes CSS a vyplnění by znamenalo zahození příspěvku
- Skryté odesílací tlačítko, kterým se zahodí příspěvek a je umístěné před skutečným odesílacím tlačítkem- roboti často odešlou příspěvek tímhle a ten se pak zahodí
- Spočítat odkazy v textu příspěvku a pokud jich je víc než nějaký limit, příspěvek zahodit.

janick
Já bych to neřešil pomocí javascriptu, protože ten se dá v prohlížeči vypnout. Podobné věci řeším přes php.
No a? Když si někdo vypne Javascript, musí ten kód napsat ručně.
Princip té ochrany je v tom, že roboti (zatím) neumějí Javascript *zapnout* (resp. zpracovat)
Joker
Profil
cistax
Ještě možná:
 <script>document.write("<input type='hidden' name='ochrana' value='213483721'>");</script>
 <noscript>Ocharana Proti Spamu, máte vypnutý javascript a proto je to tak komplikovane, opiste '21348321':<input type="text" name="ochrana"></noscript>

Možná by bylo lepší to udělat tak, jako je to tady:
 <span id="spamprotirobotum">Ochrana proti spamu. Napište prosím číslo dvacet-čtyři: <input type="text" name="robot" value="" id="protirobotum"></span>
<script>
/* tento skript vloží do příslušného políčka  */
document.getElementById("protirobotum").value="24";
document.getElementById("spamprotirobotum").style.display = "none";
</script>
imploder
Profil
cistax
Že prošli přes radiobutton jsem/nejsem robot mě nepřekvapuje (jsou to jen 2 možnosti), spíš je zajímavé, že prošli přes javascriptové vypsání políčka. Asi ten robot umí document.write. Zkus to nějak udělat třeba jako tady na diskuzi, aby musel zapsat do prvku odjinud interpretováním JS.
vynalezce
Profil
co takhle <input type="text" value="text od php treba oznacte prvni a posledni checkbox" name="kontrola">potom ty checkboxy
tomu textovymu poli nastylovat vzhled normalniho textu a phpkem testovat (pomoci db) text tento oznaceno toto neoznaceno toto
imploder
Profil
vynalezce
PHP běží na serveru, robotovi bude dělat úplně to samé, co člověku. Pokud nemá člověk muset ty kontrolní políčka vyplňovat sám, musí se použít JS.

Taky je prý účinné dát před pravý submit do kódu jeden (pomocí CSS skrytý) falešný, roboti budou používat ten první.
DJ Miky
Profil
Taky je prý účinné dát před pravý submit do kódu jeden (pomocí CSS skrytý) falešný, roboti budou používat ten první.

Co jsem zatím viděl, tak někteří roboti se se submity neobtěžují a data posílají POSTem rovnou na adresu uvedenou ve <form action="">.

Na všech webech zatím úspěšně používám metodu skrytého (display:none) políčka s name="web" a popiskem "nevyplňujte". Uživatele to neotravuje (nemusí nic přepisovat) a většina to ani nevidí.
imploder
Profil
DJ Miky
Co jsem zatím viděl, tak někteří roboti se se submity neobtěžují a data posílají POSTem rovnou na adresu uvedenou ve <form action="">.
No jo, a právě na tom robot ztroskotá. Musí se kontrolovat, že byl příspěvek odeslán tím druhým submitem a jinak ho vyhodnotit jako spam.
vynalezce
Profil
tohle by mohlo zabrat

<form id="frm" action="adresa pro ty bez js a pro roboty">
<noscript>
mate vypnuty JS proto sem napiste cislo vetsi nez
<input type="text" value="padesat vystup php" name="phpa"> a mensi nez
<input type="text" value="padesat dva vystup php" name="phpb">
<input type="text" name="antispambezjs"><br>
<input type="text" name="testjs" id="testjs" style="display:none">
<br>
<input type="submit" value="odeslat"></noscript>
<script>
testjs.value="ok"
document.write('<input type="button" onclick="frm.action=\'jina,spravnaadresa\';"value="odeslat">')
</script>
</form>

pokud to bude uzivatel se zapnutym js je to v pohode kdyz js bude mit vypnutej musi to opsat,
kdyz robot vykona js a posle to na akci ktera je nastavena normalne phpko ho blokne

mimo tema na tom webu mas u chybove hlasky error404.php rozhozeny kodovani
bohyn
Profil
cistax
Zkousel jsi kontrolovat rychlost odeslani formulare? Drtiva vetsina robotu odesila formular do cca 2s od stazeni stranky. Clovek formular takhle rychle vyplnit nestihne takze se da zahazovat vse odeslane do 5s od nacteni. Do formulare ukladam casove razitko + kontrolni hash razitka.
Chamurappi
Profil
Reaguji na cistaxe:
Zdejší ochrana, kterou zmiňuje Joker, je dostatečně účinná, léty prověřená a velmi jednoduchá na nasazení.


Reaguji na implodera:
Asi ten robot umí document.write.
Nepravděpodobné.

dát před pravý submit do kódu jeden (pomocí CSS skrytý) falešný, roboti budou používat ten první
A lidi s hloupějším prohlížečem také.


Reaguji na bohyn:
Drtiva vetsina robotu odesila formular do cca 2s od stazeni stranky.
Jak velká je zbývající menšina? Myslím, že nebude zanedbatelná. Používáš zmíněný trik na nějakém dobře viditelném webu?
bohyn
Profil
Chamurappi
Statistika za posledni 1/2 rok na jednom kontaktim formulari:
Odeslano prilis brzo: 52,1% (vse co bylo odeslano do 5s)
Nesedi timestamp/hash: 47% (jedna se o jednoho robota ktery odeslia dokola stejny hash)
Content-Type: 0,9% (jeden robot dokazal obejit 5s limit, toho chytam na "multipart/form-data; boundary=xYzZY")
cistax
Profil
Já třeba nechápu jak to pomocí css skrýt,

Joker -- Díky za vyčerpávající rady :), ale to s tim skrytým políčkem a js jsem moc neúpochopil, pres ten prvni prosli.

Vynalezce -- o tom rozhozenem kodovani vim, jeste to dodelam
imploder
Profil
Chamurappi
„Asi ten robot umí document.write.“
Nepravděpodobné.

Myslel jsem to tak, jako že když na něj narazí, tak ho nahradí literálem, co je uvnitř. To se mi zdá pravděpodobné, je to implementačně triviální. Ale kdyby vypisoval proměnnou, tak to by už bylo něco jiného. Jenom hádám, co robot asi udělal, a nenapadá mě, jak jinak mohl cistaxovu ochranu překonat.

cistax
Já třeba nechápu jak to pomocí css skrýt,
display: none
cistax
Profil
imploder: Díky
cistax
Profil
zkusil jsem i to opiste dvacet-sest, mrknete, ale stale se pres to dostavaji


--- Odkaz
drowmirg
Profil *
jestli opisuji i "dvacet-sest" neni mozne, ze se ti nekdo msti a bota upravuje tak, aby fungoval? prece jenom moc lidi v cizine nebude umet cesky :)
cistax
Profil
ano je to divne, pochybuji ze by se mi nekdo mstil, myslim ze jsem si jeste tolik nepratel na internetu za svou kratkou dobu pusobeni nenadelal, jednou alternativou je, ze je to pouze na chvili zdrzelo, a ze pokazde zkousely (nevim jestli smim psat mekke i) kazde cislo pricemz zacali nulou
cistax
Profil
Jestli se chcete nekdo podívat, vyřesil jsem to jeste jednou trochu jinou fintou, prejmenoval jsem input
Email <input name="web">
Web <input name="email">


Pokud to projdou i ted, zacnu uvazovat o cilenem utoku.

EDIT: Ještě přídávám poděkování všem, že se snažili mi pomoct.
imploder
Profil
cistax
Víš, že "Hannah Bella Beale" píše z české IP adresy? Odněkud z wifi v Praze.
http://whois.domaintools.com/86.61.139.50

Asi to není žádný robot, je to člověk. Příspěvek z 94.76.213.218 vypadá na robota spíš. Asi si jen tvůj web oťukává, odkazy nedungujou (píše nesmysly).

alternativou je, ze je to pouze na chvili zdrzelo, a ze pokazde zkousely (nevim jestli smim psat mekke i) kazde cislo pricemz zacali nulou
Nech skript zapisující přísěvky logovat (třeba do souboru) i neúspěšné pokusy. Tak zjistíš, jestli je taková domněnka správná. Taky bys nám mohl někde spamy s údajema vypsat, protože když řekneš, že zase někde spamovali a potom ty spamy z té stránky smažeš, my už je neuvidíme.

pravopis: psaní i/y u slovesa kopíruje psaní i/y u podmětu věty. Takže muži (m. životné) zkoušeli, ženy (ž.) zkoušely. Výchozí (při neznámém nebo smíšeném rodu nebo životnosti) je i (oni). Pro podmět mužský neživotný (pekáče ležely) a střední (letadla letěly - nespisovné, ale používané) má sloveso koncovku y. (pozn.: u středního rodu je spisovné a, tj. letadla letěla)
Chamurappi
Profil
Reaguji na cistaxe:
ale stale se pres to dostavaji
Řekl bych, že děláš (respektive dělal jsi) někde chybu. Kdyby tím roboti dokázali snadno procházet, byla by zaspamovaná i tato diskuse.


Reaguji na implodera:
Asi to není žádný robot, je to člověk.
Někdy spamují zavirované mašiny, takový způsob je imunní proti blokování rozsahů IP adres. Bude to spíš robot.
imploder
Profil
Chamurappi
Neřipadá ti ale na zahraničního robota divné, že odkazuje na bandzone.cz? Taky by to mohl teoreticky být český (nebo spíš čechem nastavený a ovládaný) robot, to by vysvětlovalo projití přes dvacet-sest. Podle mě by ale někdo takový nenechal robota psát nesmysly a nastavil by ho na nějakou "užitečnou" kampaň. (pokud není jeho cílem jenom všechny s*át)
cistax
Profil
imploder: tak to je pri nejmensim trochu divne, protoze s hannach isabeale beale snatos chodim do tridy a ted momentalne je nekde v americe

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: