<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Создаем свой модуль капчи (Captcha).</title>
	<atom:link href="http://selikoff.ru/webmaster/captcha/feed/" rel="self" type="application/rss+xml" />
	<link>http://selikoff.ru/webmaster/captcha/</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sat, 20 Mar 2010 21:21:20 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: ganjour</title>
		<link>http://selikoff.ru/webmaster/captcha/comment-page-1/#comment-79371</link>
		<dc:creator>ganjour</dc:creator>
		<pubDate>Sat, 20 Mar 2010 21:21:20 +0000</pubDate>
		<guid isPermaLink="false">http://selikoff.ru/webmaster/captcha/#comment-79371</guid>
		<description>dain писал: &quot;А ещё проще – использовать функцию imagettftext()&quot;
Но сложнее найти хостинг где эта гавнофункция работает (</description>
		<content:encoded><![CDATA[<p>dain писал: &#8220;А ещё проще – использовать функцию imagettftext()&#8221;<br />
Но сложнее найти хостинг где эта гавнофункция работает (</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nelson</title>
		<link>http://selikoff.ru/webmaster/captcha/comment-page-1/#comment-39643</link>
		<dc:creator>Nelson</dc:creator>
		<pubDate>Wed, 15 Apr 2009 23:34:53 +0000</pubDate>
		<guid isPermaLink="false">http://selikoff.ru/webmaster/captcha/#comment-39643</guid>
		<description>я сделал так:

$chars=&#039;qwertyupasdfghjkzxcvbnm2346789&#039;; //допустимые символы

... создание изображения, создание помех ...

	//случайный символ из набора разрешенных
	$rndchr=$chars[rand(0, (strlen($chars)-1))];</description>
		<content:encoded><![CDATA[<p>я сделал так:</p>
<p>$chars=&#8217;qwertyupasdfghjkzxcvbnm2346789&#8242;; //допустимые символы</p>
<p>&#8230; создание изображения, создание помех &#8230;</p>
<p>	//случайный символ из набора разрешенных<br />
	$rndchr=$chars[rand(0, (strlen($chars)-1))];</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nelson</title>
		<link>http://selikoff.ru/webmaster/captcha/comment-page-1/#comment-39641</link>
		<dc:creator>Nelson</dc:creator>
		<pubDate>Wed, 15 Apr 2009 23:32:28 +0000</pubDate>
		<guid isPermaLink="false">http://selikoff.ru/webmaster/captcha/#comment-39641</guid>
		<description>Все работает. Спасибо.

для dain:
не надо разбивать строку на массив символов. Строка - это уже и есть массив символов :)

$str_arr[&#039;0&#039;] - первый символ
$str_arr[&#039;1&#039;] - второй символ</description>
		<content:encoded><![CDATA[<p>Все работает. Спасибо.</p>
<p>для dain:<br />
не надо разбивать строку на массив символов. Строка &#8211; это уже и есть массив символов <img src='http://selikoff.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>$str_arr['0'] &#8211; первый символ<br />
$str_arr['1'] &#8211; второй символ</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sema</title>
		<link>http://selikoff.ru/webmaster/captcha/comment-page-1/#comment-29688</link>
		<dc:creator>Sema</dc:creator>
		<pubDate>Thu, 19 Feb 2009 11:38:42 +0000</pubDate>
		<guid isPermaLink="false">http://selikoff.ru/webmaster/captcha/#comment-29688</guid>
		<description>&gt; Как сделать кнопку ‘Обновить код’, что бы данные из формы не потерялись при обновлении кода

Необходимо задать тегу изображения капчи (напр.: &lt;img src=&quot;capcha.php&quot; /&gt;) аттрибут id (напр.: capcha-image), 
после чего создать ссылку, которая будет обновлять у изображения атрибут src.

На выходе получаем:
&lt;img src=&quot;capcha.php&quot; id=&quot;capcha-image&quot; /&gt;&lt;br /&gt;
&lt;a href=&quot;javascript:void(0);&quot; onclick=&quot;document.getElementById(&#039;capcha-image&#039;).src = &#039;capcha.php?rid=&#039; + Math.random();&quot;&gt;Refresh Capcha&lt;/a&gt;

Вот и все.</description>
		<content:encoded><![CDATA[<p>&gt; Как сделать кнопку ‘Обновить код’, что бы данные из формы не потерялись при обновлении кода</p>
<p>Необходимо задать тегу изображения капчи (напр.: &lt;img src=&#8221;capcha.php&#8221; /&gt;) аттрибут id (напр.: capcha-image),<br />
после чего создать ссылку, которая будет обновлять у изображения атрибут src.</p>
<p>На выходе получаем:<br />
&lt;img src=&#8221;capcha.php&#8221; id=&#8221;capcha-image&#8221; /&gt;&lt;br /&gt;<br />
&lt;a href=&#8221;javascript:void(0);&#8221; onclick=&#8221;document.getElementById(&#8216;capcha-image&#8217;).src = &#8216;capcha.php?rid=&#8217; + Math.random();&#8221;&gt;Refresh Capcha&lt;/a&gt;</p>
<p>Вот и все.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vital</title>
		<link>http://selikoff.ru/webmaster/captcha/comment-page-1/#comment-15874</link>
		<dc:creator>Vital</dc:creator>
		<pubDate>Tue, 25 Nov 2008 04:25:22 +0000</pubDate>
		<guid isPermaLink="false">http://selikoff.ru/webmaster/captcha/#comment-15874</guid>
		<description>Как сделать кнопку &#039;Обновить код&#039;, что бы данные из формы не потерялись при обновлении кода</description>
		<content:encoded><![CDATA[<p>Как сделать кнопку &#8216;Обновить код&#8217;, что бы данные из формы не потерялись при обновлении кода</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dain</title>
		<link>http://selikoff.ru/webmaster/captcha/comment-page-1/#comment-7795</link>
		<dc:creator>dain</dc:creator>
		<pubDate>Thu, 19 Jun 2008 14:31:58 +0000</pubDate>
		<guid isPermaLink="false">http://selikoff.ru/webmaster/captcha/#comment-7795</guid>
		<description>for ( $i = 0; $i &amp;lt $chars; $i++ )
        {
            $x_pos = $x_pos + 17; // каждую следующую букву двигаем
            $angle = mt_rand(-30, 30); // поворачивая её на случайное количество градусов
            imagettftext($img, $font_size, $angle, $x_pos, $y_pos, $color, $font_name, $str_arr[$i]);
        }
        $temp_file = &quot;images/&quot;.md5(time()).&quot;.png&quot;; // куда-нибудь сохраняем промежуточный результат ...
        imagepng($img, $temp_file);
        imagedestroy($img);
        
        return $temp_file; // ... и выводим его куда захотим. Не забыть потом его удалить, чтоб не мусорить на сервере
    }

P.S.: в довесок - функция, создающая случайную последовательность:

    function get_random_string($length) // количество символов
    {
        $ret = &quot;&quot;;
        for ( $i=0; $i&amp;lt$length; $i++)
        {
            if ( mt_rand(1,2) == 1 )
                $char_code = mt_rand(48, 57); // цифра...
            else 
                $char_code = mt_rand(65, 90); // .. или буква
                
            $ret .= chr($char_code);
        }
        return $ret;
    }</description>
		<content:encoded><![CDATA[<p>for ( $i = 0; $i &amp;lt $chars; $i++ )<br />
        {<br />
            $x_pos = $x_pos + 17; // каждую следующую букву двигаем<br />
            $angle = mt_rand(-30, 30); // поворачивая её на случайное количество градусов<br />
            imagettftext($img, $font_size, $angle, $x_pos, $y_pos, $color, $font_name, $str_arr[$i]);<br />
        }<br />
        $temp_file = &#8220;images/&#8221;.md5(time()).&#8221;.png&#8221;; // куда-нибудь сохраняем промежуточный результат &#8230;<br />
        imagepng($img, $temp_file);<br />
        imagedestroy($img);</p>
<p>        return $temp_file; // &#8230; и выводим его куда захотим. Не забыть потом его удалить, чтоб не мусорить на сервере<br />
    }</p>
<p>P.S.: в довесок &#8211; функция, создающая случайную последовательность:</p>
<p>    function get_random_string($length) // количество символов<br />
    {<br />
        $ret = &#8220;&#8221;;<br />
        for ( $i=0; $i&amp;lt$length; $i++)<br />
        {<br />
            if ( mt_rand(1,2) == 1 )<br />
                $char_code = mt_rand(48, 57); // цифра&#8230;<br />
            else<br />
                $char_code = mt_rand(65, 90); // .. или буква</p>
<p>            $ret .= chr($char_code);<br />
        }<br />
        return $ret;<br />
    }</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dain</title>
		<link>http://selikoff.ru/webmaster/captcha/comment-page-1/#comment-7793</link>
		<dc:creator>dain</dc:creator>
		<pubDate>Thu, 19 Jun 2008 14:27:14 +0000</pubDate>
		<guid isPermaLink="false">http://selikoff.ru/webmaster/captcha/#comment-7793</guid>
		<description>А ещё проще - использовать функцию imagettftext(), использующую любой ttf-шрифт.
вот пример моей функции создания капчи:

    function create_capcha_image($str) // аргумент - последовательность символов на капче
    {
        $img = imagecreatefromjpeg(&quot;background_image.jpg&quot;); // 89x30 px
        $color = imagecolorallocate($img, 48, 112, 33);
        $str_arr = preg_split(&#039;//&#039;, $str, -1, PREG_SPLIT_NO_EMPTY); // разбиваем строку на массив символов
        $font_name = &#039;tahoma.ttf&#039;;
        $font_size = 15;
        $x_pos = 0;
        $y_pos = 22;
        $chars = count($str_arr);
        for ( $i = 0; $i </description>
		<content:encoded><![CDATA[<p>А ещё проще &#8211; использовать функцию imagettftext(), использующую любой ttf-шрифт.<br />
вот пример моей функции создания капчи:</p>
<p>    function create_capcha_image($str) // аргумент &#8211; последовательность символов на капче<br />
    {<br />
        $img = imagecreatefromjpeg(&#8220;background_image.jpg&#8221;); // 89&#215;30 px<br />
        $color = imagecolorallocate($img, 48, 112, 33);<br />
        $str_arr = preg_split(&#8216;//&#8217;, $str, -1, PREG_SPLIT_NO_EMPTY); // разбиваем строку на массив символов<br />
        $font_name = &#8216;tahoma.ttf&#8217;;<br />
        $font_size = 15;<br />
        $x_pos = 0;<br />
        $y_pos = 22;<br />
        $chars = count($str_arr);<br />
        for ( $i = 0; $i</p>
]]></content:encoded>
	</item>
</channel>
</rss>

