2013. október 15., kedd

A robotok elleni harc folytatódik...

Folytatom elméleteimet a spambotokról, és egy kicsit beleveszem az előbb kifejtett mobilos témát is. A kettő együtt összefügg, és már egy honlap készítésénél el kell dönteni, hogy mit mutasson az oldal egy kereső robotnak, mit mutasson az oldal egy spamrobotnak és mit mutasson egy felhasználónak.

Mindenki eldönti, hogyan kíván harcolni a spamrobotok ellen. Ha az oldaladon nem engedélyezed a hozzászólást, és egy titkos admin oldalon keresztül adminisztrálod az oldalt, akkor nyugodtan elfelejtheted a harcot. De ki ne lenne kíváncsi a véleményekre, a visszajelzésekre azon kívül, hogy a statisztikát bámulod... egy weboldal célja ma már nemcsak egy egyszerű galéria, a visszajelzésekre is kíváncsi vagy, ahhoz pedig engedned kell a hozzászólásokat. Ha pedig fórumot tervezel, akkor a kérdés nem kérdés... a kesztyűt fel kell venned.
A spamrobotok nem kereső robotoknak fogják álcázni magukat, hanem normál felhasználóknak. A kereső robotokra meg szükség van, akárki akármit mond. Ha a spamrobotok nem használnak CSS-t, akkor a Honeypot jó megoldásnak tűnik, a kereső robotok meg úgysem fognak kommentelni (miért is tennék).

Milyen oldalt tervezel? Mert ez a kérdés meghatározza, hogy miként szeretnél harcolni a spambotok ellen, és miként állsz hozzá a kereső robotokkal szemben. Lássunk egy példát, és keressünk rá megoldást.

Az oldal, amit tervezünk, legyen egy felnőtt témában utazó blog - mondjuk, hogy nem szeretnénk, ha 12 éven aluliak látogatnák. Blog, tehát kíváncsiak vagyunk a látogatók véleményére. A keresőben szerepeljen a weboldalt, de ha valaki meglátogatja, akkor ne a weboldal tartalma legyen rögtön, hanem írja ki: az oldalt 12 éven aluliak nem látogathatják. Lássuk, hogyan oldjuk meg ezt a kérdést anélkül, hogy bárkinek foglalkoznia kellene különféle captcha-val, és csak a látogatáskor legyen kissé kényelmetlen a látogatás, és még névtelenül is hozzászólhatnak...

A weboldalnak minden oldal látogatáskor ellenőrzi, hogy keresőrobot-e vagy milyen böngésző. Ha keresőrobot, akkor semmilyen session-t nem fog ellenőrizni, megmutatja a tartalmat mint egy mobil böngésző, de hozzászólást nem enged (úgysem fog, de nem lehet tudni, nem-e spambot az illető, inkább legyünk óvatosak).
Ha valamilyen böngésző, akkor ellenőrizzük, hogy ez az első látogatása-e, vagy nem. Ehhez használjunk egy session vizsgálatot, azaz létezik-e egy bizonyos változó - ha nem létezik, akkor ez az első látogatás. Ha nem ez az első látogatása, akkor nincs teendőnk...
Ha viszont ez az első látogatása (mondjuk a mai nap folyamán), akkor jöhet a beléptető rendszer, benne egy honeypot-tal. Elmentjük a meglátogatni kívánt oldal hivatkozását egy sessionbe, és jön egy űrlap a következő szöveggel: "Ezt az oldalt csak 12 éven felüliek látogathatják". Alatta egy HoneyPot captcha (vagy egy checkbox is elegendő, melyet a felhasználónak ki kell pipálnia), és alatta két gomb ("Elmúltam 12 éves", "Nem múltam el 12 éves", mintkettő submit gomb, csak más name-mel). Ha a felhasználó eleget tesz a kérésnek, megkapja a session változót, miszerint látogató, és a hivatkozásra lép - mely session-t ezután törlésre ítélünk. Ha nem tesz eleget (mert spamrobot), akkor nem kapja meg a változót, és átdobjuk... mondjuk a Google-ra.
Innentől kezdve már azt se kell ellenőrizni, hogy spambot-e az illető, csak azt, hogy milyen bőngészővel nézi az oldalt. De a biztonság kedvéért az űrlapok aljára bedobhatjuk a HoneyPot captcha-t vagy ha beléptető rendszert is használunk (felhasználói név és jelszó), akkor annak aljára odadobjuk a checkbox-ot, miszerint a "Szabályzatot elfogadom".

Nincsenek megjegyzések:

Megjegyzés küldése