Iedarbīgs komentāru spama ķērājs

Publicēts: 2008-03-31

Ideja gan nav mana, bet sperta no FaLcoN (cerams pareizi sakapitalizēju burtus). Un jāsaka, ka visnotaļ ģeniāla ideja - viss slēpjas vienkāršumā. Darbojas nevainojami - šķiet, ka, kopš šī lapa pārceļoja uz jaunu dzinēju un kodā tika iešūts arī jaunais spama izķeršanas mehānisms, neesmu manījis nevienu pašu necilvēka ievadītu komentāru.

Līdzīgu pretspama metodi biju realizējis jau pirms tam ar checkbox - ja nav ieķeksēts, tad komentāra autors tiek uzskatīts par botu. Arī toreiz ideja nebija mana, bet pamanīta pie Reiņa (darbojas joprojām). Taču šādā variantā mēs apgrūtinam dārgo lasītāju ar vienu lieku klikšķi un nozogam no viņa dārgā laika vēl piektdaļu sekundes. Un tas ir daudz šajā strauji skrejošajā gadsimtā. Arī advancētajiem datortārpiem, kas pēc pēdējā lauka aizpildes nevis ķeras pie peles, bet spiež Tab un Space, jāizpilda divi lieki spiedieni.

Tāpēc novienkāršojam to lietu - uzliekam neredzamu ievades lauku. Bots to aizpildīs, mums atliek vien iespraust kodā vienu lieku IF, lai to pārbaudītu un izmestu die("ej tu tirst stulbais bots"). Lai būtu pavisam droši, ka izdosies botu piečakarēt, varam ievades lauku nosaukt par "name" un novietot formas sākumā (tiesa, neesmu mēģinājis ar citiem nosaukumiem un liekot beigās).

Protams, ja mēs ievades lauku paslēpsim, HTML tagā pierakstot type=hidden, tad botam tas var salikties aizdomīgi. Tāpēc lietojam CSS: liekam pie attiecīgā ievades lauka class=pasleptais, iekš stila faila .pasleptais { display: none; } un bots paliek gribot.

Domāju, ka kāds Wordpress entuziasts ar puslīdz taisnām rokām varētu pamēģināt šo ideju norealizēt Wordpress spraudņa izskatā. Ja strādā tik pat nevainojami kā uz pašrakstīta dzinēja, tad gan jau atradīsies lietotāji, kuri saviem spēkiem kodu pielabot neprot un labprāt šito izmantos. Labi, es ticu, ka tas askimets vai kā viņu tur sauca arī strādā labi, bet vai tas arī nerij vairāk resursus?



Komentāri


1. James Bush @ 2008-03-31 20:32:

Hi, nice site!

Btw, check out our new prices! www.walmart.com

2. Edijs @ 2008-03-31 20:56:

:D

3. Kristaps Kaupe @ 2008-03-31 21:34:

Eu, vecīt, vot tā ir ideja! Turklāt nekādīgi nesaprotu, kā man pašam tas neienāca prātā. Būs jau šovakar pat jāmēģina tādu fīču Blogiem.lv ieviest.

4. mobix @ 2008-03-31 21:52:

Kaut kur jau pa internetu lasīta www.modernblue.com :)

5. koko @ 2008-03-31 22:26:

Nu ok, meitenes, tagad paskatamies nedaudz globālāk:
1) Kristaps ievieš iekš blgoiem.lv;
2) Pedijs uzraksta pļurgenu;
3) cilvēki sāk lietot un viņiem strādā;
4) bota rakstītājs uzraksta ūberunikālivienkāršu izņēmumu šim gadījumam - respektīvi katru reizi izdara 2 uzbrukumus - vienu, aizpildot visus laukus un otru, kaut ko neaizpildot vai vēl labāk - viņš iziet visiem laukiem visas variācijas, kas ļaunākajā gadījumā būs 4 un nav grūti lapu pieprasīt tās pāris reizes...
Un tātad - labāk, lai paliek tikai pašiem tāds antispama veids, bet pārējie lai lieto akismetu!

6. Mad182 @ 2008-03-31 22:55:

Paņēmiens jau kādu laiku zināms un iedarbīgs, bet nevajag tā reklamēt :)

7. Arnolds @ 2008-03-31 23:55:

1. Ideja vienkārša - komentēšana tikai ar openid autorizētiem lietotājiem. Pārējie var īsināt savu laiku ar anālo fistingu.

2. Poga *pļuk* man asociējas ar vājprātīgo Ilzi Stradi.

8. Shadowbird @ 2008-04-01 10:58:

Tiklīdz to ieviesīs Wordpress, tā spamboti uzlauzīs (t.i. - rūpīgi atlasīs laukus vai pat noparsēs CSS tikai tik daudz, lai saprastu, vai lauks ir redzams). Ja gribi patieso ģeniālo vienkāršību, kas darbotos jebkurā apjomā – vienreizēja Captcha vai *cik pirkstu uz abām rokām kopā* vai kāds cits human-only tests. Pēc veiksmīgas izpildes cookie uz pusgadu-gadu, ka apmeklētājs ir valīds humanoīds. Ļaunākais, kas var notikt – var pazudēt cookie un būs jātestējas pa jaunam. Vienu reizi gadā aizpildīt ekstra lauku jau nu gan nav par daudz prasīts.

9. Edijs @ 2008-04-01 12:42:

Heh, es atkal nebiju iedomājies izdalīt cepumu vienreiz veiksmīgi atpazītam humanoīdam.. Nu, ja šis risinājums vienu dienu izrādīsies nelietojams, tad ieviesīsim citu.

10. FaLcoN @ 2008-04-02 10:53:

vispār jau gudrākie boti arī css nopārsē un neaizpilda hidden/display:none laukus, taču līdz šim visās vietnēs, kur esmu šo pielietojis, boti nav neko postējuši.

11. FaLcoN @ 2008-04-02 10:56:

otrs, ka varbūt vajag *sulīgi* nosaukt to paslēpto lauku, lai botam tā vien gribētos kaut ko iepostēt tajā. www, title, email, name, username, http, address varētu viņa intelektam būt pievilcīgi

12. BigUgga @ 2008-04-03 23:52:

Ja kādam nepatīk capččččaacča, es šito ar javascript daru. Un man pofigs, ja kādam nav JS 21.gs., bet gribas interaktivitāti.

13. Zandis @ 2008-04-08 17:15:

A nafig nepostēt divus laukus, teiksim, vienā kā vērtību skaitli X, otrā X-2 (otro aizpilda javaskirpts)?

14. mounkuls @ 2008-05-10 15:27:

Laba ideja ar to otru lauku:)
Vēl var vienkārši value padot aizpildītu piemēram ar @un norādīt, ka tas @ ir jāatstāj sākumā.
Tad pie pārbaudes redzēsim vai ir tas @ atstāts vai aizpildīts kkā e-pasts.


Vārds:


WWW:


Teksts: