<?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>Seo - Оптимизация на сайтове за търсачки &#187; javascript</title>
	<atom:link href="http://blog.unone.org/category/javascript/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.unone.org</link>
	<description>seo - оптимизация на сайтове за търсачки, статии</description>
	<lastBuildDate>Fri, 25 Jun 2010 10:37:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Как се прави Captcha с Javascript и PHP</title>
		<link>http://blog.unone.org/%d0%ba%d0%b0%d0%ba-%d1%81%d0%b5-%d0%bf%d1%80%d0%b0%d0%b2%d0%b8-captcha-%d1%81-javascript-%d0%b8-php</link>
		<comments>http://blog.unone.org/%d0%ba%d0%b0%d0%ba-%d1%81%d0%b5-%d0%bf%d1%80%d0%b0%d0%b2%d0%b8-captcha-%d1%81-javascript-%d0%b8-php#comments</comments>
		<pubDate>Mon, 30 Jul 2007 20:29:33 +0000</pubDate>
		<dc:creator>man0l</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.unone.org/%d0%ba%d0%b0%d0%ba-%d1%81%d0%b5-%d0%bf%d1%80%d0%b0%d0%b2%d0%b8-captcha-%d1%81-javascript-%d0%b8-php/</guid>
		<description><![CDATA[Тук ще опиша как се прави Capcha скрипт. Captcha е ефикасна защита от спам ботове, която използва картинка за потвърждаване. Този начин който ще опиша е доста семпъл, но го използвам в един мой сайт и се държи добре. Скрипта включва user side Javascript генератор на случайна комбинация от числа и букви, и server side [...]]]></description>
			<content:encoded><![CDATA[<p>Тук ще опиша как се прави Capcha скрипт. Captcha е ефикасна защита от спам ботове, която използва картинка за потвърждаване. Този начин който  ще опиша е доста семпъл, но го използвам в един мой сайт и се държи добре. Скрипта включва user side Javascript генератор на случайна комбинация от числа и букви, и server side PHP скрипт, на който се изпраща тази случайна комбинация, а скрипта генерира картинка с този код. По долу е показан Javascript кода:</p>
<p>&lt;script type=&#8220;text/javascript&#8220;&gt;</p>
<p>function captcha() {</p>
<p>var symbols = &#8216;a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 &#8216;;<br />
var rand;<br />
var tmp = symbols.split(&#8216; &#8216;);<br />
var str = &#8220;;</p>
<p>for(i = 0; i &lt; 6; i++) {</p>
<p>rand = Math.floor(Math.random( ) * (tmp.length ));<br />
str += tmp[rand];<br />
}</p>
<p>$(&#8216;captcha&#8217;).src=&#8220;captcha.php?string=&#8220;+str;<br />
$(&#8216;compare&#8217;).value = str;</p>
<p>}<br />
function $(id) {<br />
return document.getElementById(id);<br />
}<br />
window.onload = captcha;</p>
<p>&lt;/script&gt;</p>
<p>Така. Сега е необходимо в html формата, към която ще се слага captcha да имаме едно hidden поле и една картинка &lt;img/&gt;, чийто стойности са празни отначало. Картинката &lt;img/&gt; трябва да има id captcha &#8211; &lt;img src=&#8220;" alt=&#8220;" id=&#8220;captcha&#8220; /&gt; ето така трябва да изглежда този таг. Hidden полето трябва има id &#8216;compare&#8217; &#8211; &lt;input type=&#8220;hidden&#8220; name=&#8220;compare&#8220; id=&#8220;compare&#8220; value=&#8220;" /&gt;.</p>
<p>$(&#8216;captcha&#8217;).src=&#8220;captcha.php?string=&#8220;+str; &#8211; този ред взима &lt;img тага и зарежда картинката посредством captcha.php,  който ще опишем след малко</p>
<p>$(&#8216;compare&#8217;).value = str; &#8211; този ред зарежда стойност на hidden полето.</p>
<p>Забележете, че Javscripta се извиква при window.onload event &#8211; тоест след като всичко друго се е заредило</p>
<p>Ето го и captcha.php</p>
<p>&lt;?php</p>
<p>$code = strip_tags(mysql_real_escape_string( $_GET['string']);</p>
<p>$im = imagecreate(100, 30);</p>
<p>// white background and blue text<br />
$bg = imagecolorallocate($im, 255, 255, 255);<br />
$textcolor = imagecolorallocate($im, 0, 0, 255);</p>
<p>// write the string at the top left<br />
imagestring($im, 5, 20, 5, $code, $textcolor);</p>
<p>// output the image<br />
header(&#8222;Content-type: image/png&#8220;);<br />
imagepng($im);<br />
exit;</p>
<p>?&gt;</p>
<p>Тук по GET се предава като параметър стринга, който ще бъде в картинката, след това се създава картинката посредством този ред &#8211; $im = imagecreate(100, 30); задава се background и цвят на стринга в картинката, след това с този ред    imagestring($im, 5, 20, 5, $code, $textcolor); се записва стринга в картинката.</p>
<p>Пускаме хедър който указва какъв тип ще бъде тази картинка &#8211; в случая PNG.</p>
<p>Във формата, която ще се събмитва, също трябва да има едно текстово поле за въвеждане на този код генериран от картинката. Задайте му name attribute &#8211; check. &lt;input type=&#8217;text&#8217; name=&#8217;check&#8217; /&gt;</p>
<p>След това като събмитвате формата и проверявате за непопълнени полета ( валидация ) трябва да проверите дали $_POST['check'] ( текста който потребителя е въвел ) съвпада с $_POST['compare'] ( текста, който се инициализира от javascript-a ).</p>
<p>Реално приложение на този скрипт можете да видите на адрес: <a href="http://seolinks.unone.org/addurl.html">http://seolinks.unone.org/addurl.html</a>  security code полето. Това е ! Можете да се радвате на новата си антиспам защита</p>
<p>P.S. Този скрипт не е много security, можете да си направите някой функция на Javascript, която да криптира кода който изпраща към captcha.php</p>
Подобни статии:<ul><li><a href="http://blog.unone.org/some-tricks-with-seo-optimisation" rel="bookmark" title="декември 3, 2006 3:09 pm">Няколко трика при оптимизацията на уеб сайтове</a></li>

<li><a href="http://blog.unone.org/about-writing-of-php-code" rel="bookmark" title="август 25, 2006 10:10 pm">about writing of php code</a></li>

<li><a href="http://blog.unone.org/%d0%b1%d0%bb%d0%be%d0%b3%d0%b2%d0%b0%d0%bd%d0%b5-%d0%b7%d0%b0-seo-%d0%ba%d0%b0%d0%ba-%d0%b4%d0%b0-%d0%bf%d1%80%d0%b8%d0%b4%d0%be%d0%b1%d0%b8%d0%b5%d0%bc-%d0%bc%d0%b0%d0%ba%d1%81%d0%b8%d0%bc%d0%b0" rel="bookmark" title="август 15, 2007 1:07 am">Блогване за SEO: как да придобием максимални ползи от вашия малък бизнес блог</a></li>

<li><a href="http://blog.unone.org/%d0%be%d0%bf%d1%82%d0%b8%d0%bc%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f-%d0%b7%d0%b0-%d1%82%d1%8a%d1%80%d0%b0%d1%81%d1%87%d0%ba%d0%b8-%d0%bd%d0%b0-wordpress" rel="bookmark" title="юли 22, 2008 8:54 pm">Оптимизация за търсачки на WordPress</a></li>

<li><a href="http://blog.unone.org/%d1%82%d0%be%d0%bf-20-wordpress-%d0%bf%d0%bb%d1%8a%d0%b3%d0%b8%d0%bd%d0%b0" rel="bookmark" title="май 18, 2009 2:22 pm">Топ 20 интересни wordpress плъгина</a></li>
</ul><!-- Similar Posts took 11.247 ms -->]]></content:encoded>
			<wfw:commentRss>http://blog.unone.org/%d0%ba%d0%b0%d0%ba-%d1%81%d0%b5-%d0%bf%d1%80%d0%b0%d0%b2%d0%b8-captcha-%d1%81-javascript-%d0%b8-php/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
