Rejtőzz el a spambotok elől!

Copy email addressAz e-mail címeket manapság már nem szokás a honlapokon a hagyományos, kattintható formában megjeleníteni. Helyette legtöbbször képként vagy széttagolt formában (Például: susnya [kukac] gmail [pont] com) találkozhatunk velük, így egy levél írásakor utóbbit még viszonylag könnyen átmásoljuk a címzettek közé, de az előzőt már körülményesebben. Én személy szerint mindkét megoldást utálom, és kifejezetten idegesít, ha nem tudok két kattintással, kijelölés nélkül másolni egy e-mail címet. Ezért kifejlesztettem az alábbi scriptet, melynek a MysticalMail nevet adtam.

Természetesen az általam kidolgozott megoldás a végtelenségig bonyolítható, aminek csak addig van értelme, amíg a botok nem olvassák a JavaScript kimeneteket. A komplikálásra mindenképpen buzdítanám a progarmozókat, mert elsősorban úgy lehet csak sikeres a MysticalMail, ha mindig egy kicsit más elképzelés alapján “titkosítja” a címeket. Gondoljatok csak a polimorf vírusok sikerének kulcsára, amit már a nevük is elárul! 😉

A Google keresőjében már teszteltem a kódomat, amint átment a kereső, mert az adott e-mail címre nem jelenítette meg azt a találatot, amit “kellett volna”, és a tárolt változatban is csak a <noscript></noscript> tartalma volt olvasható. A spambotok többsége hasonlóan figyelmen kívül hagyja vagy képtelen kezelni a JavaScriptek által generált kimenetet, így a MysticalMail segítségével megjelenített címek nem esnek ezok áldozatául.

Aki nem jártas a programozásban, annak csak elég beírni az alábbi “E-Mail” mezőbe a titkosítani kívánt e-mail címet, és az űrlap kiadja a beágyazandó scripteket. A hosszabb kódot a <head></head> tagek, a rövidebbet pedig szövegközben bárhová, de a <body></body> tagek közé kell elhelyezni:

E-Mail:

JavaScript Kód:

HTML Kód:


Az érdeklődők számára pedig következzen a generálásért felelős kód űrlapsablonnal együtt:

JavaScript Kód:
function	CreateMysticalMail	(Mail)	{
	var	Chars = escape	(Mail).split	('');
	for	(Index = 0; Index < Chars.length; Index++)	{
		Chars[Index] = Chars[Index].charCodeAt	(0);
	}
	//	A "g" felelős azért, hogy az összes cserét végrehajtsa, és ne álljon le az első után.
	return	String	(Chars.valueOf	()).replace(/,/g, ', ');
}
function	CreateCode	()	{
	if	(document.MysticalMail.Mail.value != '')	{
		var JavaScript = '<script type="text\/javascript">\n';
		JavaScript += 'function	PrintMysticalMail	()	{\n';
		JavaScript += '\tvar	Mail = unescape	(String.fromCharCode	('+CreateMysticalMail	(document.MysticalMail.Mail.value)+'));\n';
		JavaScript += '\tdocument.write	(Mail.link	(\'mailto:\'+Mail));\n';
		JavaScript += '}\n';
		JavaScript += '<\/script>';
		document.getElementById('JavaScript').innerHTML = JavaScript;
		document.getElementById('HTML').innerHTML = '<script type="text\/javascript">PrintMysticalMail	();<\/script>';
	}
	else	{
		document.getElementById('JavaScript').innerHTML = '';
		document.getElementById('HTML').innerHTML = '';
	}
}
HTML Kód:
<form name="MysticalMail" id="MysticalMail">
<h5>E-Mail:</h5>
<input type="text" name="Mail" id="Mail" onkeyup="CreateCode    ();" onchange="CreateCode    ();" onfocus="CreateCode    ();" style="width: 480px;" />
<h5>JavaScript Kód:</h5>
<textarea style="width: 480px; height: 96px;" name="JavaScript" id="JavaScript" readonly="readonly"></textarea>
<h5>HTML Kód:</h5>
<textarea style="width: 480px; height: 96px;" name="HTML" id="HTML" readonly="readonly"></textarea>
</form>

A MysticalMail-hez hasonló megoldást a pszfonline.hu-n találhattok.

Hozzászólás: » 2 « • Írta: Péter (2010/02/12 00:34)

Hozzászólás írása a “Rejtőzz el a spambotok elől!” című bejegyzéshez:

Kötelező!

Kötelező!

Hozzászólások a “Rejtőzz el a spambotok elől!” című bejegyzéshez:

  1. Írta: Johnny (2010/02/12 14:14) • »»

    első!

    Ha, ilyen még sose volt, hogy egy postnál elsőzök, soha többé nem is lesz, de egyszer ki akartam próbálni 🙂

    Amúgy ez tök jó, a szögletes zárójeles megoldás szerinem is k***a idegesítő

  2. Írta: Az e-mail cím elrejtése.. « Tapodi Mihály tárhelye (2011/03/29 02:55) • »»

    […] Na erre a problémára találták ki a cím javascript-tel való elrejtését. Ezt ugyanis a “robotok” még nem tudják kezelni, egyenlőre. Persze elviekben nemsokára ezt a tartalmat is kezelni tudják a botok, de addig is használjuk ki, ha van rá lehetőségünk. Itt erről bővebben olvashatsz és megtalálod a javascript-es generátort: http://susnya.hu/rejtozz-el-a-spambotok-elol/567/ […]