<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Eimantas Vaičiūnas &#187; spam</title>
	<atom:link href="http://vaiciunas.info/tag/spam/feed" rel="self" type="application/rss+xml" />
	<link>http://vaiciunas.info</link>
	<description>diskretus gyvenimas</description>
	<lastBuildDate>Sat, 26 Jun 2010 07:36:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Web Formų apsauga be CAPTCHA</title>
		<link>http://vaiciunas.info/265-web-formu-apsauga-be-captcha</link>
		<comments>http://vaiciunas.info/265-web-formu-apsauga-be-captcha#comments</comments>
		<pubDate>Fri, 10 Apr 2009 05:48:17 +0000</pubDate>
		<dc:creator>eimantas</dc:creator>
				<category><![CDATA[it]]></category>
		<category><![CDATA[captcha]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://vaiciunas.info/?p=265</guid>
		<description><![CDATA[Spam-botai yra protingos būtybės. Pakankamai protingos, kad galėtų panaudoti OCR bet kokiam captcha atpažinimui. Yep, phpnuke bei phpbb forumuose jau senokai atsiranda spamo įrašų. Taip pat kaip ir blogas.lt. Bet dalykas tas, kad aš čia nerašysiu apie paruoštų sistemų formų apsaugas (tuos pačius phpnuke, phpbb, wordpress, etc.). Tuom turėtų pasirūpinti sistemų programuotojai. Aišku, jeigu jie [...]]]></description>
			<content:encoded><![CDATA[<p>Spam-botai yra protingos būtybės. Pakankamai protingos, kad galėtų panaudoti OCR bet kokiam captcha atpažinimui. Yep, phpnuke bei phpbb forumuose jau senokai atsiranda spamo įrašų. Taip pat kaip ir blogas.lt. Bet dalykas tas, kad aš čia nerašysiu apie paruoštų sistemų formų apsaugas (tuos pačius phpnuke, phpbb, wordpress, etc.). Tuom turėtų pasirūpinti sistemų programuotojai. Aišku, jeigu jie yra kompetetingi. Aš norėčiau pakalbėti apie savų kuriamų projektų apsaugą nuo spamo. Anksčiau ar vėliau tikrai ateis tas laikas, kai į tavo kurtą puslapį atropos spam botas, ras formą jame ir pradės tau siūlyti belenkokį nereikalingą šlamštą. Nelabai apkrauna serverį, labai eikvoja laika ir dar labiau erzina. Sprendimas, iš tiesų, yra be galo paprastas.</p>
<p>Aš taip <em>primečiau</em>, kad norint apsisaugoti nuo spamo ir belenkokio pikto internetinio briedo, kuris siunčiamas per formas, užtektų patikrinti ar &#8220;lankytojas&#8221; naršo per pilnavertę naršyklę ir net nereikėtų tikrinti ar vartotojas yra iš tiesų žmogus. Kaip jau minėjau &#8211; captcha yra lengvai apeinamas, o spręsti matematines lygtis ir atsakinėti į klausimus &#8211; užknisa. Ir aš tikrai nekalbu apie <code>User-Agent</code> http antraštę. Ją juokingai lengva sufabrikuoti.</p>
<p>Spam-botai yra kvailos būtybės. Pakankamai kvailos, kad jas būtų galima apgauti gabaliuku gudraus JavaScript kodo. Aišku, čia prabyla mano kompetencijos trūkumas: nežinau ant kiek spam-botai yra kvaili ir nesupranta JS kodo. Manau, kad visi spam:botai yra parašyti Windows operacinei sistemai (nes Linux ir Mac OS X vartotojų segmentas yra per siauras), tad jeigu programos ir naudoja naršyklę, tai tai yra IE. Dabar keletas scenarijų apsaugoms (warning: programmer slang ahead), kurie yra įgyvendinami naudojant paprastus JS event-handlerius (tingėjau ieškoti lietuviško atitikmens):</p>
<ol>
<li>Raktas &#8211; <code>onsubmit</code> (arba <code>onload</code>) event-handleriui pakišama funkcija, kuri sugeneruoja paslėptą formos elementą (tarkim not_spam_bot=yes). Serverio pusėje užtenka patikrinti ar forma atėjo kartu su šiuo elementu. Jeigu ne &#8211; nepilnavertė naršyklė arba spam-botas!</li>
<li>Siuntimo adresas &#8211; event-handleriams priskiriama funkcija, kuri pakeičia formos siuntimo adresą į teisingą (tuo tarpu pirmąjį galima būtų sukurti tokį, kuris 4fun &trade; registruotų spamintus formų siuntimus)</li>
<li>Elementų vardai &#8211; vėl gi &#8211; tiems patiems event-handleriams pakišama funkcija, kuri sutvarko formos elementų vardus.</li>
</ol>
<p>Aišku, įmanomos įvairios šių (ir ne tik) scenarijų kombinacijos. Ir kad dar šiek tiek apsunkinti visą reikalą spam-botams (kurie, galbūt, tiesiog durnai interpretuoja JS kodą) visą JS ant formų reiktų užkabinti nemaišant struktūros ir logikos.</p>
<p>Neišradau rato, bet gal atsiras penas tavo mintims, kuriomis pasidalinsi komentaruose.</p>
]]></content:encoded>
			<wfw:commentRss>http://vaiciunas.info/265-web-formu-apsauga-be-captcha/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
