<?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"
	>

<channel>
	<title>Сео факты</title>
	<atom:link href="http://seofacts.ru/feed/" rel="self" type="application/rss+xml" />
	<link>http://seofacts.ru</link>
	<description>Ждем дизайнера</description>
	<pubDate>Sat, 14 Aug 2010 10:34:25 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
	<language>en</language>
			<item>
		<title>Дрессируем роботов, загоняем в индекс по-быстрому</title>
		<link>http://seofacts.ru/dressiruem-robotov-zagonyaem-v-indeks-po-bystromu/</link>
		<comments>http://seofacts.ru/dressiruem-robotov-zagonyaem-v-indeks-po-bystromu/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 05:32:21 +0000</pubDate>
		<dc:creator>bizon</dc:creator>
		
		<category><![CDATA[SEO]]></category>

		<category><![CDATA[Темы]]></category>

		<category><![CDATA[индекс]]></category>

		<category><![CDATA[палю тему]]></category>

		<category><![CDATA[сайты]]></category>

		<category><![CDATA[Яндекс]]></category>

		<guid isPermaLink="false">http://seofacts.ru/?p=65</guid>
		<description><![CDATA[Всем привет!
Сегодняшняя тема вроде бы ничего в себе не несёт неизвестного и давно не секрет для большинства мастеров. Но именно такие, казалось бы очевидные темы часто ищут и не могут найти начинающие.
Мне не жалко, делюсь простым способом быстро привести робота на сайт. Пользуюсь уже не первый месяц, работает  

Во-первых, ищем ресурсы, которые мелькают в [...]]]></description>
			<content:encoded><![CDATA[<p>Всем привет!</p>
<p>Сегодняшняя тема вроде бы ничего в себе не несёт неизвестного и давно не секрет для большинства мастеров. Но именно такие, казалось бы очевидные темы часто ищут и не могут найти начинающие.</p>
<p>Мне не жалко, делюсь простым способом быстро привести робота на сайт. Пользуюсь уже не первый месяц, работает <img src='http://seofacts.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-65"></span></p>
<p>Во-первых, ищем ресурсы, которые мелькают в Яндекс.Новостях. Можно создать отдельный файл для этого списка.</p>
<p>Во-вторых, идём в <a href="http://www.sape.ru/r.12c67a024a.php">сапу</a> (регистрируйтесь по рефералке, не стесняйтесь, темы ещё будут), отбираем сайты из категории &#8220;Новости и СМИ&#8221; с открытым URL.</p>
<p>Покупаем ссылку на таком сайте, который есть в нашем списке.</p>
<p>Смотрим логи.</p>
<p>Ждём прихода робота.</p>
<p>Обычно это занимает не более двух часов, после чего можно отказаться от купленной дорогой ссылки. Да, это зло, но с другой стороны продажа ссылок в глазах поисковика тоже не очень хорошее дело.</p>
<p>Всё. Ждём индексации в ближайшие апы.</p>
]]></content:encoded>
			<wfw:commentRss>http://seofacts.ru/dressiruem-robotov-zagonyaem-v-indeks-po-bystromu/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Закрытый клуб баблорубов - X-files!</title>
		<link>http://seofacts.ru/zakrytyj-klub-bablorubov-x-files/</link>
		<comments>http://seofacts.ru/zakrytyj-klub-bablorubov-x-files/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 10:11:02 +0000</pubDate>
		<dc:creator>bizon</dc:creator>
		
		<category><![CDATA[Блоги]]></category>

		<category><![CDATA[Ссылки]]></category>

		<category><![CDATA[Темы]]></category>

		<category><![CDATA[баблорубы]]></category>

		<category><![CDATA[палю тему]]></category>

		<category><![CDATA[софт]]></category>

		<guid isPermaLink="false">http://seofacts.ru/?p=63</guid>
		<description><![CDATA[Цели, поставленные изначально оказались несколько завышенными и были пересмотрены уже не раз. Всё превратилось в совершенно иной проект, с совершенно другим размахом, пусть и более долгосрочный.
Веб-студия растёт, развивается, снова подыскиваем третьего дизайнера, от заказов нет отбоя. Грамотная постановка процесса и слаженная команда специалистов - залог успеха.
Многие наверное уже слышали про закрытый клуб баблорубов?
Так вот, палю [...]]]></description>
			<content:encoded><![CDATA[<p>Цели, поставленные изначально оказались несколько завышенными и были пересмотрены уже не раз. Всё превратилось в совершенно иной проект, с совершенно другим размахом, пусть и более долгосрочный.</p>
<p>Веб-студия растёт, развивается, снова подыскиваем третьего дизайнера, от заказов нет отбоя. Грамотная постановка процесса и слаженная команда специалистов - залог успеха.</p>
<p>Многие наверное уже слышали про <a href="http://bablorub.ru">закрытый клуб баблорубов</a>?</p>
<p>Так вот, <a href="http://bizonov.ru/soft-dlya-raboty/">палю тему</a>, как попасть туда с меньшими затратами, получив при этом отличные продукты для получения денег.<br />
<img src="http://www.Blagun.ru/it.000000.058822.i.gif" border="0" alt="Блогун - монетизируем блоги" width="1" height="1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://seofacts.ru/zakrytyj-klub-bablorubov-x-files/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Xrumer 5.06 Palladium - теперь и UCOZ и DLE</title>
		<link>http://seofacts.ru/xrumer-506-palladium-teper-i-ucoz-i-dle/</link>
		<comments>http://seofacts.ru/xrumer-506-palladium-teper-i-ucoz-i-dle/#comments</comments>
		<pubDate>Sun, 26 Apr 2009 15:31:28 +0000</pubDate>
		<dc:creator>bizon</dc:creator>
		
		<category><![CDATA[SEO]]></category>

		<category><![CDATA[xrumer]]></category>

		<category><![CDATA[софт]]></category>

		<category><![CDATA[спам]]></category>

		<guid isPermaLink="false">http://seofacts.ru/?p=61</guid>
		<description><![CDATA[Ну наконец-то. Выпущено обновление к нашему любимому хрумеру. Теперь можно спамить ucoz и dle. Возожно толку от этого уж и не будет (укоз вроде как закрывает возможность проставления ссылок), однако сам факт обновления пришёлся как нельзя кстати. Нам нужен мощный пробив! И он есть.
Купить можно здесь: http://www.botmasterru.com/product20211/
]]></description>
			<content:encoded><![CDATA[<p>Ну наконец-то. Выпущено обновление к нашему любимому хрумеру. Теперь можно спамить ucoz и dle. Возожно толку от этого уж и не будет (укоз вроде как закрывает возможность проставления ссылок), однако сам факт обновления пришёлся как нельзя кстати. Нам нужен мощный пробив! И он есть.</p>
<p>Купить можно здесь: <a href="http://www.botmasterru.com/product20211/"><strong>http://www.botmasterru.com/product20211/</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://seofacts.ru/xrumer-506-palladium-teper-i-ucoz-i-dle/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Веб-мастер и наркоман. Уникальное интервью на Армаде</title>
		<link>http://seofacts.ru/intervju-armada/</link>
		<comments>http://seofacts.ru/intervju-armada/#comments</comments>
		<pubDate>Sun, 19 Apr 2009 05:59:27 +0000</pubDate>
		<dc:creator>bizon</dc:creator>
		
		<category><![CDATA[Блоги]]></category>

		<category><![CDATA[блоггеры]]></category>

		<category><![CDATA[интервью]]></category>

		<guid isPermaLink="false">http://seofacts.ru/?p=59</guid>
		<description><![CDATA[Сегодня в гостях у Армады мой земляк, Олег Бизонов. Это будет непростое интервью. Олег в прошлом наркоман, прошедший через все круги этого ада. Затем была клиника Маршака, принятие ислама, открытие своей веб-студии.
Олег ведет два блога: «Жизнь замечательного человека» и «Дневниковое творчество». Если первый посвящен в основном SEO и делам веб-мастерским, то второй как раз рассказывает [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня в гостях у Армады мой земляк, Олег Бизонов. Это будет непростое интервью. Олег в прошлом наркоман, прошедший через все круги этого ада. Затем была клиника Маршака, принятие ислама, открытие своей веб-студии.<br />
Олег ведет два блога: «<a href="http://bizonov.ru">Жизнь замечательного человека</a>» и «<a href="http://bezonov.net">Дневниковое творчество</a>». Если первый посвящен в основном SEO и делам веб-мастерским, то второй как раз рассказывает с чисто человеческой точки зрения о наркомании от лица бывшего наркомана.</p>
<p><em><strong>Олег, приветствую <img src='http://seofacts.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> А у тебя есть еще блоги? Или только два вышеперечисленных? </strong></em></p>
<p>Привет, Андрей! Ещё как есть.</p>
<p><a href="http://www.armadaboard.com/viewtopic.php?t=24258" target="_blank">Перейти на Армаду для дальнейшего чтения.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://seofacts.ru/intervju-armada/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Что происходит с выдачей? У Яндекса глюк или это всё-таки Анадырь?</title>
		<link>http://seofacts.ru/chto-proisxodit-s-vydachej-u-yandeksa-glyuk-ili-eto-vsyo-taki-anadyr/</link>
		<comments>http://seofacts.ru/chto-proisxodit-s-vydachej-u-yandeksa-glyuk-ili-eto-vsyo-taki-anadyr/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 12:22:03 +0000</pubDate>
		<dc:creator>bizon</dc:creator>
		
		<category><![CDATA[SEO]]></category>

		<category><![CDATA[yandex]]></category>

		<category><![CDATA[алгоритмы]]></category>

		<category><![CDATA[анадырь]]></category>

		<category><![CDATA[выдача]]></category>

		<category><![CDATA[поисковики]]></category>

		<category><![CDATA[Яндекс]]></category>

		<guid isPermaLink="false">http://seofacts.ru/?p=57</guid>
		<description><![CDATA[Многие сегодня с самого утра ломают голову над этим вопросом. В большей степени пострадала региональная выдача. Возможно это тот самый геотаргетинг, на который намекал Садовский. Было же в последней конференции обещано некое веселье в апреле месяце.
Мнения сторон разделились. Москвичи, которых пока что не задела смена алгоритмов больше склонны утверждать, что это глюк и скоро всё [...]]]></description>
			<content:encoded><![CDATA[<p>Многие сегодня с самого утра ломают голову над этим вопросом. В большей степени пострадала региональная выдача. Возможно это тот самый геотаргетинг, на который намекал Садовский. Было же в последней конференции обещано некое веселье в апреле месяце.</p>
<p>Мнения сторон разделились. Москвичи, которых пока что не задела смена алгоритмов больше склонны утверждать, что это глюк и скоро всё пройдёт. Региональные seo-шники плачут и собираются мылить веревки.</p>
<p>Факт остаётся фактом - попытки улучшить релевантность опять превратились в один большой &#8220;пшик&#8221;, подарив надежду сотням и тысячам говносайтов на получение заветного трафика. Следите за событиями -  будем надеяться, что это всё-таки крупная ошибка.</p>
]]></content:encoded>
			<wfw:commentRss>http://seofacts.ru/chto-proisxodit-s-vydachej-u-yandeksa-glyuk-ili-eto-vsyo-taki-anadyr/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Учим PHP и пишем спамилку для DLE</title>
		<link>http://seofacts.ru/uchim-php-i-pishem-spamilku-dlya-dle/</link>
		<comments>http://seofacts.ru/uchim-php-i-pishem-spamilku-dlya-dle/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 10:13:45 +0000</pubDate>
		<dc:creator>bizon</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[SEO]]></category>

		<category><![CDATA[dle]]></category>

		<category><![CDATA[спам]]></category>

		<category><![CDATA[спамилки]]></category>

		<category><![CDATA[ссылочное]]></category>

		<category><![CDATA[уроки]]></category>

		<guid isPermaLink="false">http://seofacts.ru/?p=43</guid>
		<description><![CDATA[Тема с получением ТИЦ от спама в DLE уже не работает, но продолжает прибавлять ссылочного. Владельцы говносайтов, потерявшие свой неправедно нажитый ТиЦ направо и налево торгуют подобными скриптами (по крайней мере предложений 5 я видел точно).
Однако не стоит делать трагедию из почившей темы. Как я уже говорил - комментарии по-прежнему помогают нарастить ссылочный вес по [...]]]></description>
			<content:encoded><![CDATA[<p>Тема с получением ТИЦ от спама в DLE уже не работает, но продолжает прибавлять ссылочного. Владельцы говносайтов, потерявшие свой неправедно нажитый ТиЦ направо и налево торгуют подобными скриптами (по крайней мере предложений 5 я видел точно).</p>
<p>Однако не стоит делать трагедию из почившей темы. Как я уже говорил - комментарии по-прежнему помогают нарастить ссылочный вес по поисковым запросам и этим грех не воспользоваться, особенно для продающих говносайтов <img src='http://seofacts.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Только я предлагаю не выкидывать деньги барыгам, а воспользоваться нижеизложенной информацией. Заодно и в PHP немножко подтянетесь. За основу взят широкораспространённый скрипт (автор его мне неизвестен), подвергшийся некоторым корректировкам. В благодарность можете оставить в своём блоге ссылочку на этот пост.<span id="more-43"></span></p>
<blockquote><p><strong>Листинг index.php</strong></p></blockquote>
<p>// лимит времени нам ни к чему</p>
<blockquote><p>&lt;?<br />
set_time_limit(0);</p></blockquote>
<p>// во вторые кавычки вводим ключ от http://anti-captcha.com. Инвайт у меня есть</p>
<blockquote><p>define(&#8217;KEY&#8217;,&#8221;);<br />
define(&#8217;MAX_ATTEMPS&#8217;,1);</p></blockquote>
<p>// подключение бибилиотек</p>
<blockquote><p>include &#8216;./libs/http.class.php&#8217;;<br />
include &#8216;./libs/formsparser.class.php&#8217;;<br />
include &#8216;./libs/anticaptcha.class.php&#8217;;</p></blockquote>
<p>// создаём объект класса AntiCaptcha</p>
<blockquote><p>$ocr = new AntiCaptcha(KEY);</p></blockquote>
<p>// сюда будем записывать неудачи</p>
<blockquote><p>$bad = fopen(&#8221;./bad.txt&#8221;,&#8221;w&#8221;);</p></blockquote>
<p>// а сюда складывать удачные ссылки</p>
<blockquote><p>$good = fopen(&#8221;./good.txt&#8221;,&#8221;w&#8221;);</p></blockquote>
<p>// если данные уже ввели в форму, то поехали.. (если нет - то в конце листинга вызов формы)</p>
<blockquote><p>if (isset($_POST['urls'])) {</p></blockquote>
<p>// разбиваем список URL на отдельные строки по признаку &#8220;\r&#8221; - перевод строки</p>
<blockquote><p>$urls = explode(&#8221;\r\n&#8221;,$_POST['urls']);</p></blockquote>
<p>// принимаем логин, пароль, е-майл, сообщение из формы для регистрации на DLE. В личную</p>
<p>// информацию, кстати, тоже не забывайте ссылочку ставить в формате BB-кода.</p>
<blockquote><p>$login = $_POST['login'];<br />
$password = $_POST['password'];<br />
$email = $_POST['email'];<br />
$msg = $_POST['msg'];<br />
$info = $_POST['info'];</p></blockquote>
<p>// для каждого url&#8217;а выполняем следующее:</p>
<blockquote><p>foreach ($urls as $url) {</p></blockquote>
<p>// если строка пустая - выходим из цикла</p>
<blockquote><p>if (empty($url)) break;</p></blockquote>
<p>// если url заканчивается на &#8216;/&#8217; - заменяем его на символ конца строки (0)</p>
<blockquote><p>if (substr($url,-1,1) == &#8216;/&#8217;) $url = substr($url,0,-1);</p></blockquote>
<p>// пытаемся регистрироваться (по количеству попыток, заданному в начале)</p>
<blockquote><p>for ($i=0;$i&lt;MAX_ATTEMPS;$i++) {</p></blockquote>
<p>// флаг успешной регистрации. Сначала - false (ложь)</p>
<blockquote><p>$reg = false;</p></blockquote>
<p>// Выводим извещение &#8220;попытка [такая-то]&#8221;</p>
<blockquote><p>echo &#8216;Попытка &#8216;.($i+1).&#8217; &#8216;.$url.&#8217; &#8216;;</p></blockquote>
<p>// очищаем буфер вывода</p>
<blockquote><p>flush();</p></blockquote>
<p>// создаём объекты класса http и FormsParser (описаны в дополнительных библиотеках)</p>
<blockquote><p>$http = new http;<br />
$parser = new FormsParser;</p></blockquote>
<p>// Получаем адрес страницы с регистрацией</p>
<blockquote><p>$page = $http-&gt;GET($url.&#8217;/index.php?do=register&#8217;);<br />
if ($postdata = $parser-&gt;getForm($page,array(&#8221;dle_rules_accept&#8221;))) {<br />
$page = $http-&gt;POST($url.&#8217;/index.php?do=register&#8217;,$postdata);<br />
}</p></blockquote>
<p>// Начинаем регистрацию</p>
<blockquote><p>$postdata = $parser-&gt;getForm($page,array(&#8221;name&#8221;,&#8221;password1&#8243;,&#8221;password1&#8243;));<br />
if ($postdata) {<br />
$postdata['name'] = $login;<br />
$postdata['password1'] = $password;<br />
$postdata['password2'] = $password;<br />
$postdata['email'] = $email;</p></blockquote>
<p>// ввели основные данные, теперь обрабатываем капчу</p>
<blockquote><p>if (isset($postdata['sec_code']) &amp;&amp; preg_match(&#8217;#antibot\.php#i&#8217;,$page)) {<br />
file_put_contents(&#8217;./captcha.jpg&#8217;,$http-&gt;GET($url.&#8217;/engine/modules/antibot.php&#8217;));<br />
try {<br />
$code = $ocr-&gt;recognize(&#8217;./captcha.jpg&#8217;);<br />
$postdata['sec_code'] = $code;<br />
echo &#8216;&lt;font color=&#8221;green&#8221;&gt;каптча расшифрована (&#8217;.$code.&#8217;)&lt;/font&gt; &#8216;;<br />
} catch (Exception $error) {<br />
echo &#8216;&lt;font color=&#8221;red&#8221;&gt;не удается расшифровать каптчу&lt;/font&gt; &#8216;;<br />
}<br />
}</p></blockquote>
<p>//второй этап регистрации - вводим дополнительную информацию</p>
<blockquote><p>$page = $http-&gt;POST($url.&#8217;/index.php?do=register&#8217;,$postdata);<br />
if ($postdata = $parser-&gt;getForm($page,array(&#8221;fullname&#8221;,&#8221;land&#8221;,&#8221;icq&#8221;))) {<br />
$postdata['info'] = $info;<br />
$http-&gt;POST(http::fixURL($url,$parser-&gt;action),$postdata);</p></blockquote>
<p>//сообщение об удачной регистрации и пополнение файла good</p>
<blockquote><p>echo &#8220;&lt;font color=&#8217;green&#8217;&gt;регистрация успешна&lt;/font&gt; &lt;br/&gt;\r\n&#8221;;<br />
fwrite($good,$url.&#8221;\r\n&#8221;);</p></blockquote>
<p>//теперь оставляем комментарий</p>
<blockquote><p>$page = $http-&gt;GET($url);<br />
if (preg_match(&#8221;#href=[\"']?([^'\"\s&lt;&gt;]+?)\#comment[\"']?#is&#8221;,$page,$match)) {<br />
if ($postdata = $parser-&gt;getForm($page,array(&#8217;login_name&#8217;,'login_password&#8217;))) {<br />
$postdata['login_name'] = $login;<br />
$postdata['login_password'] = $password;<br />
$http-&gt;POST($url.&#8217;/index.php&#8217;,$postdata);<br />
}<br />
$post_url = http::fixURL($url,$match[1]);<br />
if (!empty($post_url)) {<br />
$page = $http-&gt;GET($post_url);<br />
if ($postdata = $parser-&gt;getForm($page,array(&#8217;post_id&#8217;, &#8216;comments&#8217;))) {<br />
$postdata['comments'] = $msg;<br />
$http-&gt;POST($post_url,$postdata);<br />
} else {<br />
echo &#8216;&lt;font color=&#8221;red&#8221;&gt;не найдена форма отправки коментария&lt;/font&gt; &#8216;;<br />
}<br />
}<br />
} else {<br />
echo &#8216;&lt;font color=&#8221;red&#8221;&gt;не удается найти URL на пост&lt;/font&gt; &#8216;;<br />
}<br />
$reg = true;<br />
break;<br />
} else {<br />
echo &#8216;&lt;font color=&#8221;red&#8221;&gt;не удается зарегистрироваться&lt;/font&gt; &#8216;;<br />
}<br />
} else {<br />
echo &#8216;&lt;font color=&#8221;red&#8221;&gt;не найдена форма&lt;/font&gt; &#8216;;<br />
}<br />
echo &#8220;&lt;br/&gt;\r\n&#8221;;<br />
}</p></blockquote>
<p>//Если зарегистрироваться не удалось - записываем в bad</p>
<blockquote><p>if (!$reg) {<br />
fwrite($bad,$url.&#8221;\r\n&#8221;);<br />
}<br />
}<br />
}</p></blockquote>
<p>// вызов самой первой формы для ввода данных</p>
<blockquote><p>else {<br />
include &#8216;./templates/form.html&#8217;;<br />
}<br />
?&gt;</p></blockquote>
<p>Не так-то всё сложно выглядит, правда? Библиотеки, которые я вам сейчас здесь же предоставлю подойдёт и для других целей (с небольшими доработками).</p>
<p><strong>1. Библиотека Anti-Captcha </strong>- находка для спамера, реализует возможности сервиса <a href="http://anti-captcha.com">http://anti-captcha.com</a>. Инвайт на сервис можно получить у меня.</p>
<p><strong>Листинг anticaptcha.class.php</strong></p>
<blockquote><p>&lt;?</p>
<p>class AntiCaptcha {<br />
const FILE_NOT_FOUND = 0;<br />
const CURL_ERROR = 1;<br />
const SERVER_ERROR = 2;<br />
const TIMEOUT = 3;</p>
<p>public $key;<br />
public $server = &#8216;http://www.anti-captcha.com&#8217;;<br />
public $phrase = false;<br />
public $regsense = false;<br />
public $numeric = false;<br />
public $min_len = 0;<br />
public $max_len = 0;</p>
<p>public $ocr_step_time = 10;<br />
public $ocr_timeout = 120;</p>
<p>public $curl_timeout = 30;</p>
<p>private $id;</p>
<p>function __construct($key) {<br />
$this-&gt;key = $key;<br />
}</p>
<p>function recognize($filename) {<br />
if (!file_exists($filename)) {<br />
throw new Exception(&#8217;File not found&#8217;,self::FILE_NOT_FOUND);<br />
}<br />
$postdata = array(<br />
&#8216;method&#8217;    =&gt; &#8216;post&#8217;,<br />
&#8216;key&#8217;       =&gt; $this-&gt;key,<br />
&#8216;file&#8217;      =&gt; &#8216;@&#8217;.realpath($filename),<br />
&#8216;phrase&#8217;    =&gt; (int)$this-&gt;phrase,<br />
&#8216;regsense&#8217;    =&gt; (int)$this-&gt;regsense,<br />
&#8216;numeric&#8217;    =&gt; (int)$this-&gt;numeric,<br />
&#8216;min_len&#8217;    =&gt; $this-&gt;min_len,<br />
&#8216;max_len&#8217;    =&gt; $this-&gt;max_len,</p>
<p>);<br />
$curl = curl_init();<br />
curl_setopt($curl, CURLOPT_URL, $this-&gt;server.&#8217;/in.php&#8217;);<br />
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);<br />
curl_setopt($curl, CURLOPT_TIMEOUT, $this-&gt;curl_timeout);<br />
curl_setopt($curl, CURLOPT_POST, 1);<br />
curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);<br />
$result = curl_exec($curl);<br />
if (curl_errno($curl)) {<br />
throw new Exception(curl_error($curl),self::CURL_ERROR);<br />
}<br />
curl_close($curl);<br />
if (strpos($result, &#8216;OK&#8217;) === 0) {<br />
list(,$this-&gt;id) = explode(&#8217;|',$result);<br />
$start = time();<br />
while (true) {<br />
sleep($this-&gt;ocr_step_time);<br />
$curl = curl_init();<br />
curl_setopt($curl, CURLOPT_URL, $this-&gt;server.&#8217;/res.php?key=&#8217;.$this-&gt;key.&#8217;&amp;action=get&amp;id=&#8217;.$this-&gt;id);<br />
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);<br />
curl_setopt($curl, CURLOPT_TIMEOUT, $this-&gt;curl_timeout);<br />
$result = curl_exec($curl);<br />
if (curl_errno($curl)) {<br />
throw new Exception(curl_error($curl),self::CURL_ERROR);<br />
}<br />
curl_close($curl);<br />
if (strpos($result, &#8216;OK&#8217;) === 0) {<br />
list(,$result) = explode(&#8217;|',$result);<br />
return $result;<br />
} else if ($result == &#8216;CAPCHA_NOT_READY&#8217;) {<br />
if ((time() - $start) &gt; $this-&gt;ocr_timeout) {<br />
throw new Exception(&#8221;OCR timeout&#8221;,self::TIMEOUT);<br />
}<br />
}<br />
}<br />
} else {<br />
throw new Exception($result,self::SERVER_ERROR);<br />
}<br />
}<br />
}</p>
<p>?&gt;</p></blockquote>
<p><strong>2. Библиотека HTTP</strong>. Эмулирует работу HTTP-браузера, представлены самые важные для спамера функции POST и GET <img src='http://seofacts.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>листинг http.class.php</strong></p>
<blockquote><p>&lt;?</p>
<p>class http {<br />
const MULTIPART = &#8220;multipart/form-data&#8221;;<br />
const ATOMXML = &#8220;application/atom+xml&#8221;;</p>
<p>public $proxy = null;<br />
public $proxy_type = CURLPROXY_HTTP;<br />
public $timeout = null;<br />
public $follow_location = true;<br />
public $referer = null;<br />
public $custom_headers = null;<br />
public $cookies = null;<br />
public $user_agent = &#8220;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)&#8221;;</p>
<p>public $encoding = null;<br />
public $current_url = null;<br />
public $headers = array();</p>
<p>private $curl = null;<br />
private $mhcurl = null;<br />
private $mcurl = array();</p>
<p>function GET($url,$data=null) {<br />
if (!is_null($data)) {<br />
$url = parse_url($url);<br />
$query = array();<br />
if (isset($url['query'])) {<br />
parse_str($url['query'],$query);<br />
}<br />
$query = $data + $query;<br />
$url['query'] = http_build_query($query);<br />
$url = self::buildURL($url);<br />
}<br />
if (is_array($url)) {<br />
$this-&gt;multi_init($url);<br />
return $this-&gt;processMultiRequest();<br />
} else {<br />
$this-&gt;init($url);<br />
return $this-&gt;processRequest();<br />
}<br />
}</p>
<p>function POST($url,$data,$type=null) {<br />
$this-&gt;init($url);<br />
if (!is_null($type)) {<br />
curl_setopt($this-&gt;curl, CURLOPT_HTTPHEADER, array(&#8221;Content-Type: &#8220;.$type));<br />
}<br />
curl_setopt($this-&gt;curl, CURLOPT_POST, true);<br />
curl_setopt($this-&gt;curl, CURLOPT_POSTFIELDS, http_build_query($data));<br />
return $this-&gt;processRequest();<br />
}</p>
<p>private function multi_init($urls) {<br />
$this-&gt;mhcurl = curl_multi_init();<br />
$this-&gt;mcurl = array();<br />
foreach ($urls as $i =&gt; $url) {<br />
$this-&gt;mcurl[$i] = $this-&gt;init($url);<br />
curl_multi_add_handle($this-&gt;mhcurl, $this-&gt;mcurl[$i]);<br />
}<br />
}</p>
<p>private function init($url) {<br />
$this-&gt;current_url = $url;<br />
$this-&gt;curl = curl_init($url);<br />
curl_setopt($this-&gt;curl, CURLOPT_URL, $url);<br />
if (parse_url($url,PHP_URL_SCHEME) == &#8220;https&#8221;) {<br />
curl_setopt($this-&gt;curl, CURLOPT_SSL_VERIFYHOST, 0);<br />
curl_setopt($this-&gt;curl, CURLOPT_SSL_VERIFYPEER, 0);<br />
}<br />
if (!is_null($this-&gt;timeout)) {<br />
curl_setopt($this-&gt;curl, CURLOPT_TIMEOUT, $this-&gt;timeout);<br />
}<br />
if (!is_null($this-&gt;referer)) {<br />
curl_setopt($this-&gt;curl, CURLOPT_REFERER, $this-&gt;referer);<br />
}<br />
if (!is_null($this-&gt;custom_headers)) {<br />
curl_setopt($this-&gt;curl, CURLOPT_HTTPHEADER, $this-&gt;custom_headers);<br />
}<br />
if (!is_null($this-&gt;cookies)) {<br />
curl_setopt($this-&gt;curl, CURLOPT_COOKIE, $this-&gt;processCookies($this-&gt;cookies));<br />
}<br />
if (!is_null($this-&gt;proxy)) {<br />
curl_setopt($this-&gt;curl, CURLOPT_PROXYTYPE, $this-&gt;proxy_type);<br />
curl_setopt($this-&gt;curl, CURLOPT_PROXY, $this-&gt;proxy);<br />
}<br />
curl_setopt($this-&gt;curl, CURLOPT_USERAGENT, $this-&gt;user_agent);<br />
curl_setopt($this-&gt;curl, CURLOPT_FOLLOWLOCATION, $this-&gt;follow_location);<br />
curl_setopt($this-&gt;curl, CURLOPT_RETURNTRANSFER, true);<br />
curl_setopt($this-&gt;curl, CURLOPT_HEADER, true);<br />
return $this-&gt;curl;<br />
}</p>
<p>private function processMultiRequest() {<br />
$result = array();<br />
$running = null;<br />
do {<br />
curl_multi_exec($this-&gt;mhcurl, $running);<br />
} while($running);<br />
foreach($this-&gt;mcurl as $curl) {<br />
$headers_size = curl_getinfo($curl,CURLINFO_HEADER_SIZE);<br />
$result[] = substr(curl_multi_getcontent($curl),$headers_size);<br />
curl_multi_remove_handle($this-&gt;mhcurl, $curl);<br />
}<br />
curl_multi_close($this-&gt;mhcurl);<br />
return $result;<br />
}</p>
<p>private function processRequest() {<br />
$result = curl_exec($this-&gt;curl);<br />
$headers_size = curl_getinfo($this-&gt;curl,CURLINFO_HEADER_SIZE);<br />
$headers = substr($result,0,$headers_size);<br />
$this-&gt;processHeaders($headers);<br />
$this-&gt;current_url = curl_getinfo($this-&gt;curl,CURLINFO_EFFECTIVE_URL);<br />
$this-&gt;referer = $this-&gt;current_url;<br />
curl_close($this-&gt;curl);<br />
return substr($result,$headers_size);<br />
}</p>
<p>private function processCookies($cookies) {<br />
$result = &#8220;&#8221;;<br />
foreach ($cookies as $key =&gt; $value) {<br />
$result .= urlencode($key).&#8221;=&#8221;.urlencode($value).&#8221;;&#8221;;<br />
}<br />
return substr($result,0,-1);<br />
}</p>
<p>private function processHeaders($headers) {<br />
$this-&gt;headers = array();<br />
foreach(explode(&#8221;\r\n&#8221;,$headers) as $header) {<br />
if (strpos($header,&#8221;:&#8221;) !== false) {<br />
list($key,$value) = explode(&#8221;:&#8221;,$header,2);<br />
$key = trim($key);<br />
$value = trim($value);<br />
if (isset($this-&gt;headers[$key])) {<br />
if (is_array($this-&gt;headers[$key])) {<br />
$this-&gt;headers[$key][] = $value;<br />
} else {<br />
$this-&gt;headers[$key] = array($value);<br />
}<br />
} else {<br />
$this-&gt;headers[strtolower($key)] = $value;<br />
}<br />
}<br />
}<br />
if (isset($this-&gt;headers['set-cookie'])) {<br />
foreach ((array)$this-&gt;headers['set-cookie'] as $value) {<br />
if (($pos = strpos($value,&#8221;;&#8221;)) !== false) $value = substr($value,0,$pos);<br />
if (strpos($value,&#8221;=&#8221;) !== false) {<br />
list($key,$value) = explode(&#8221;=&#8221;,$value,2);<br />
} else {<br />
$key = $value;<br />
$value = &#8220;&#8221;;<br />
}<br />
$key = trim($key);<br />
$value = trim($value);<br />
$this-&gt;cookies[$key] = $value;<br />
}<br />
}<br />
$this-&gt;encoding = null;<br />
if (isset($this-&gt;headers['content-type'])) {<br />
$pos = strpos($this-&gt;headers['content-type'],&#8221;charset&#8221;);<br />
if ($pos !== false) {<br />
$endpos = strpos($this-&gt;headers['content-type'],&#8221;;&#8221;,$pos);<br />
if ($endpos === false) {<br />
$charset = substr($this-&gt;headers['content-type'],$pos);<br />
} else {<br />
$length = $endpos - $pos;<br />
$charset = substr($this-&gt;headers['content-type'],$pos,$length);<br />
}<br />
list(,$this-&gt;encoding) = explode(&#8221;=&#8221;,$charset,2);<br />
}<br />
}<br />
}</p>
<p>final static function buildURL($data) {<br />
$url = &#8220;&#8221;;</p>
<p>if (!isset($data['scheme'])) $data['scheme'] = &#8220;http&#8221;;</p>
<p>$url = $data['scheme'].&#8221;://&#8221;;<br />
if (isset($data['user'])) {<br />
$url .= $data['user'].(isset($data['pass']) ? &#8220;:&#8221;.$data['pass'] : &#8220;&#8221;).&#8221;@&#8221;;<br />
}<br />
$url .= $data['host'];<br />
if (isset($data['port'])) {<br />
$url .= &#8220;:&#8221;.$data['port'];<br />
}<br />
if (isset($data['path'])) {<br />
$url .= $data['path'];<br />
} else {<br />
$url .= &#8220;/&#8221;;<br />
}<br />
if (isset($data['query'])) {<br />
$url .= &#8220;?&#8221;.$data['query'];<br />
}<br />
if (isset($data['fragment'])) {<br />
$url .= &#8220;#&#8221;.$data['fragment'];<br />
}</p>
<p>return $url;<br />
}</p>
<p>final static function fixURL($base,$link) {<br />
if (!preg_match(&#8217;~^(http://[^/?#]+)?([^?#]*)?(\?[^#]*)?(#.*)?$~i&#8217;, $link.&#8217;#', $matchesLink)) {<br />
return false;<br />
}<br />
if (!empty($matchesLink[1])) {<br />
return $link;<br />
}<br />
if (!preg_match(&#8217;~^(http://)?([^/?#]+)(/[^?#]*)?(\?[^#]*)?(#.*)?$~i&#8217;, $base.&#8217;#', $matchesBase)) {<br />
return false;<br />
}<br />
if (empty($matchesLink[2])) {<br />
if (empty($matchesLink[3])) {<br />
return &#8216;http://&#8217;.$matchesBase[2].$matchesBase[3].$matchesBase[4];;<br />
}<br />
return &#8216;http://&#8217;.$matchesBase[2].$matchesBase[3].$matchesLink[3];<br />
}<br />
$pathLink = explode(&#8217;/', $matchesLink[2]);<br />
if ($pathLink[0] == &#8221;) {<br />
return &#8216;http://&#8217;.$matchesBase[2].$matchesLink[2].$matchesLink[3];<br />
}<br />
$pathBase = explode(&#8217;/', preg_replace(&#8217;~^/~&#8217;, &#8221;, $matchesBase[3]));<br />
if (sizeOf($pathBase) &gt; 0) {<br />
array_pop($pathBase);<br />
}<br />
foreach ($pathLink as $p) {<br />
if ($p == &#8216;.&#8217;) {<br />
continue;<br />
} elseif ($p == &#8216;..&#8217;) {<br />
if (sizeOf($pathBase) &gt; 0) {<br />
array_pop($pathBase);<br />
}<br />
} else {<br />
array_push($pathBase, $p);<br />
}<br />
}<br />
return &#8216;http://&#8217;.$matchesBase[2].&#8217;/&#8217;.implode(&#8217;/', $pathBase).$matchesLink[3];<br />
}<br />
}</p>
<p>?&gt;</p></blockquote>
<p><strong>3. Библиотека FormsParser</strong>. Работает с формами. Заточена под DLE, но исправить недолго</p>
<p><strong>листинг formsparser.class.php</strong></p>
<blockquote><p>&lt;?php<br />
class FormsParser {<br />
public $action = &#8220;./&#8221;;<br />
public $method = &#8220;get&#8221;;</p>
<p>public static $form_rule = array(<br />
&#8216;regexp&#8217; =&gt; &#8216;#&lt;form(\s)?(?(1)(.*))&gt;(.*)&lt;/form&gt;#isU&#8217;,<br />
&#8216;result&#8217; =&gt; array(<br />
2 =&gt; &#8216;params&#8217;,<br />
3 =&gt; &#8216;body&#8217;<br />
)<br />
);<br />
public static $input_rule = array(<br />
&#8216;regexp&#8217; =&gt; &#8216;#&lt;input(\s)?(?(1)(.*))/?&gt;#isU&#8217;,<br />
&#8216;result&#8217; =&gt; array(<br />
2 =&gt; &#8216;params&#8217;<br />
)<br />
);<br />
public static $select_rule = array(<br />
&#8216;regexp&#8217; =&gt; &#8216;#&lt;select(\s)?(?(1)(.*))&gt;(.*)&lt;/select&gt;#isU&#8217;,<br />
&#8216;result&#8217; =&gt; array(<br />
2 =&gt; &#8216;params&#8217;,<br />
3 =&gt; &#8216;body&#8217;<br />
)<br />
);<br />
public static $option_rule = array(<br />
&#8216;regexp&#8217; =&gt; &#8216;#&lt;option(\s)?(?(1)([^&gt;]*))&gt;((?:.*)(?=&lt;/option&gt;)|(?:[^&lt;&gt;]+?))#isU&#8217;,<br />
&#8216;result&#8217; =&gt; array(<br />
2 =&gt; &#8216;params&#8217;,<br />
3 =&gt; &#8216;value&#8217;<br />
)<br />
);<br />
public static $textarea_rule = array(<br />
&#8216;regexp&#8217; =&gt; &#8216;#&lt;textarea(\s)?(?(1)(.*))&gt;(.*)&lt;/textarea&gt;#isU&#8217;,<br />
&#8216;result&#8217; =&gt; array(<br />
2 =&gt; &#8216;params&#8217;,<br />
3 =&gt; &#8216;value&#8217;<br />
)<br />
);<br />
public static $params_rule = array(<br />
&#8216;regexp&#8217; =&gt; &#8216;#(\w*)\s*=\s*["\']?([^&lt;&gt;\s"\']*)["\']?#is&#8217;,<br />
&#8216;result&#8217; =&gt; array(<br />
1 =&gt; &#8216;key&#8217;,<br />
2 =&gt; &#8216;value&#8217;<br />
)<br />
);</p>
<p>public function getForm($forms,$data) {<br />
if (!is_array($forms)) {<br />
$forms = $this-&gt;parseForms($forms);<br />
}<br />
foreach ($forms as $form) {<br />
if ($data == array_intersect($data,array_keys($form['data']))) {<br />
foreach ($form['data'] as $key =&gt; $value) {<br />
$this-&gt;action = $form['action'];<br />
$this-&gt;method = $form['method'];</p>
<p>if (is_array($value)) {<br />
if (count($value) &gt; 1) {<br />
$form['data'][$key] = $value[1];<br />
} else {<br />
$form['data'][$key] = $value[0];<br />
}<br />
}<br />
}<br />
return $form['data'];<br />
}<br />
}<br />
return false;<br />
}</p>
<p>private function parseForm($body,$params) {<br />
$data = array();</p>
<p>$params = $this-&gt;parseParams($params);<br />
$data['action'] = (isset($params['action']) ? $params['action'] : &#8216;./&#8217;);<br />
$data['method'] = (isset($params['method']) ? strtolower($params['method']) : &#8216;get&#8217;);</p>
<p>$inputs = $this-&gt;parseInputs($body);<br />
$selects = $this-&gt;parseSelects($body);<br />
$textareas = $this-&gt;parseTextareas($body);</p>
<p>$data['data'] = array_merge($inputs,$selects,$textareas);<br />
return $data;<br />
}</p>
<p>private function parseInputs($body) {<br />
$data = array();<br />
if ($inputs = self::matchRule(self::$input_rule,$body)) {<br />
foreach ($inputs['params'] as $params) {<br />
$params = $this-&gt;parseParams($params);<br />
if (isset($params['name'])) {<br />
$name = $params['name'];<br />
$value = (isset($params['value']) ? $params['value'] : &#8221;);<br />
$data = self::addValue($data,$name,$value);<br />
}<br />
}<br />
}<br />
return $data;<br />
}</p>
<p>private function parseSelects($body) {<br />
$data = array();<br />
if ($selects = self::matchRule(self::$select_rule,$body)) {<br />
$count = count($selects['params']);<br />
for ($i=0;$i&lt;$count;$i++) {<br />
$params = $this-&gt;parseParams($selects['params'][$i]);<br />
if (isset($params['name'])) {<br />
$name = $params['name'];<br />
if ($options = $this-&gt;parseOptions($selects['body'][$i])) {<br />
$data = self::addValue($data,$name,$options);<br />
} else {<br />
$data = self::addValue($data,$name);<br />
}<br />
}<br />
}<br />
}<br />
return $data;<br />
}</p>
<p>private function parseOptions($body) {<br />
if ($options = self::matchRule(self::$option_rule,$body)) {<br />
$data = array();<br />
$count = count($options['params']);<br />
for ($i=0;$i&lt;$count;$i++) {<br />
$params = $this-&gt;parseParams($options['params'][$i]);<br />
if (isset($params['value'])) {<br />
$data[] = $params['value'];<br />
} else {<br />
$data[] = $options['body'][$i];<br />
}<br />
}<br />
return $data;<br />
}<br />
return false;<br />
}</p>
<p>private function parseTextareas($body) {<br />
$data = array();<br />
if ($textareas = self::matchRule(self::$textarea_rule,$body)) {<br />
$count = count($textareas['params']);<br />
for ($i=0;$i&lt;$count;$i++) {<br />
$params = $this-&gt;parseParams($textareas['params'][$i]);<br />
if (isset($params['name'])) {<br />
$name = $params['name'];<br />
$value = (isset($params['value']) ? $params['value'] : $textareas['value'][$i]);<br />
$data = self::addValue($data,$name,$value);<br />
}<br />
}<br />
}<br />
return $data;<br />
}</p>
<p>public function parseForms($page) {<br />
if ($forms = self::matchRule(self::$form_rule,$page)) {<br />
$count = count($forms['params']);<br />
for ($i=0;$i&lt;$count;$i++) {<br />
$data[$i] = $this-&gt;parseForm($forms['body'][$i],$forms['params'][$i]);<br />
}<br />
return $data;<br />
}<br />
return false;<br />
}</p>
<p>public static function matchRule($rule,$text) {<br />
if (preg_match_all($rule['regexp'],$text,$match)) {<br />
$result = array();<br />
foreach ($rule['result'] as $matchKey =&gt; $resultKey) {<br />
$result[$resultKey] = $match[$matchKey];<br />
}<br />
return $result;<br />
}<br />
return false;<br />
}</p>
<p>private function parseParams($str) {<br />
if ($params = self::matchRule(self::$params_rule,$str)) {<br />
$params['key'] = array_map(&#8217;strtolower&#8217;,$params['key']);<br />
$result = array_combine($params['key'],$params['value']);<br />
return $result;<br />
}<br />
return false;<br />
}</p>
<p>public static function addValue($data,$key,$values=&#8221;) {<br />
if (!is_array($values)) {<br />
$values = array($values);<br />
}<br />
foreach ($values as $value) {<br />
if (isset($data[$key])) {<br />
if (!is_array($data[$key])) {<br />
$data[$key] = array($data[$key]);<br />
}<br />
$data[$key][] = $value;<br />
} else {<br />
$data[$key] = $value;<br />
}<br />
}<br />
return $data;<br />
}<br />
}<br />
?&gt;</p></blockquote>
<p>Ну и осталась самая мелочь - вывод формы, в которую вы будете вбивать данные для спама. Это очень просто делается в подключаемом файле <strong>form.html</strong></p>
<blockquote><p>&lt;form method=&#8221;post&#8221; action=&#8221;./&#8221;&gt;<br />
URLs:&lt;br/&gt;<br />
&lt;textarea rows=&#8217;10&#8242; cols=&#8217;50&#8242; name=&#8217;urls&#8217;&gt;&lt;/textarea&gt;<br />
&lt;br/&gt;<br />
Логин:&lt;br/&gt;<br />
&lt;input type=&#8217;text&#8217; size=&#8217;50&#8242; name=&#8217;login&#8217;&gt;&lt;br/&gt;<br />
Пароль:&lt;br/&gt;<br />
&lt;input type=&#8217;text&#8217; size=&#8217;50&#8242; name=&#8217;password&#8217;&gt;&lt;br/&gt;<br />
Email:&lt;br/&gt;<br />
&lt;input type=&#8217;text&#8217; size=&#8217;50&#8242; name=&#8217;email&#8217;&gt;&lt;br/&gt;<br />
&lt;br/&gt;<br />
О себе:&lt;br/&gt;<br />
&lt;textarea rows=&#8217;10&#8242; cols=&#8217;50&#8242; name=&#8217;info&#8217;&gt;&lt;/textarea&gt;<br />
&lt;br/&gt;<br />
Собщение:&lt;br/&gt;<br />
&lt;textarea rows=&#8217;10&#8242; cols=&#8217;50&#8242; name=&#8217;msg&#8217;&gt;&lt;/textarea&gt;<br />
&lt;br/&gt;<br />
&lt;input type=&#8217;submit&#8217; value=&#8217;Spam&#8217;&gt;<br />
&lt;/form&gt;</p></blockquote>
<p>И напоследок один многозначительный плюс. Как я уже сказал - благодарности принимаются в форме ссылок на пост и &#8220;спасибо&#8221; в комментариях, однако в первом случае ссылающийся может получить небольшую базу хороших DLE-сайтов.</p>
<p>На сегодня всё. Надеюсь, что не причинил этим постом вреда больше, чем пользы.</p>
<p>Можно скачать исходники здесь: <a href="http://uploadbox.com/files/48f6a6b290">http://uploadbox.com/files/48f6a6b290</a></p>
]]></content:encoded>
			<wfw:commentRss>http://seofacts.ru/uchim-php-i-pishem-spamilku-dlya-dle/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Очередные потери в фарме. Как бороться с абузами?</title>
		<link>http://seofacts.ru/pharma-abuses/</link>
		<comments>http://seofacts.ru/pharma-abuses/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 06:15:01 +0000</pubDate>
		<dc:creator>bizon</dc:creator>
		
		<category><![CDATA[Домены]]></category>

		<category><![CDATA[Фарма]]></category>

		<category><![CDATA[абузы]]></category>

		<category><![CDATA[директи]]></category>

		<category><![CDATA[суспенд]]></category>

		<guid isPermaLink="false">http://seofacts.ru/?p=38</guid>
		<description><![CDATA[И вновь нас радуют абузеры-уроды. Не я один за последние дни пострадал, но только у меня одного ушло в суспенд три домена! Парочка из них зарегистрированы совсем недавно, с замечательными именами.
Те, кто пострадал, уже видели письма такого рода:
PublicDomainRegistry.com Abuse Desk
We have received 2 spam  complaint for фармааптека.com. This is against our terms of usage. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://seofacts.ru/wp-content/uploads/2009/03/968914.jpg"><img class="alignleft size-medium wp-image-39" style="border: 0px solid black; margin: 5px;" title="Пистолет для абузеров" src="http://seofacts.ru/wp-content/uploads/2009/03/968914-300x225.jpg" alt="" width="300" height="225" /></a>И вновь нас радуют абузеры-уроды. Не я один за последние дни пострадал, но только у меня одного ушло в суспенд три домена! Парочка из них зарегистрированы совсем недавно, с замечательными именами.</p>
<p>Те, кто пострадал, уже видели письма такого рода:</p>
<p><strong>PublicDomainRegistry.com Abuse Desk</strong></p>
<p><span style="font-size: x-small; font-family: arial,verdana,helvetica;">We have received 2 spam  complaint for фармааптека.com. This is against our terms of usage.  Pursuant to our terms of service we have suspended фармааптека.com.</span></p>
<p><strong><span style="font-size: x-small; font-family: arial,verdana,helvetica;">Please find below your SPAM  complaint statistics</span></strong><span style="font-size: x-small; font-family: arial,verdana,helvetica;"><br />
Number of Spam Complaints for фармааптека.com:2<br />
Number of Total Spam Complaints for your account: 2<br />
Number of Total Spam Domains in your account: 1</span></p>
<p><span style="font-size: x-small; font-family: arial,verdana,helvetica;">Please understand that we are  contractually bound with our Service Providers to ensure that none of our  servers or any associated services are in any manner affiliated with spamming.  We are extremely strict about enforcing our terms of usage.<span style="font-size: x-small; font-family: Verdana;"><br />
Regards,</span><span style="font-size: x-small; font-family: Verdana;"> <strong>PublicDomainRegistry.com Abuse Team</strong><br />
<a href="mailto:abuse@publicdomainregistry.com" target="_blank">abuse@publicdomainregistry.com</a></span></span></p>
<p>Что же делать? <span id="more-38"></span></p>
<p>1. <strong>Не нервничать.</strong> Как выясняется - опыт успешного возвращения доменов есть. И у рядовых Веб-мастеров тоже. Если вы активно работаете с фармой, то наверное знакомы с английским языком хотя бы на базовом уровне. Стоит начать диалог с PublicDomainRegistry о разблокировке домена с целью дальнейшего переноса к другому регистратору. Я написал письмо примерно следующего содержания:</p>
<blockquote><p><strong>I not associated with SPAM! This misunderstanding.<br />
I ask you unsuspending this domain. I wish to transfer this domain to other registrar to solve this problem.</strong></p></blockquote>
<p>По нынешней ситуации ответа пока получено не было.</p>
<p>Но после разблокирования всегда нужно идти дальше, ко второму пункту.</p>
<p><strong>2. Переносить домен к другому регистратору</strong></p>
<p>Переносить нужно, так как абузеры не спят и спустя какое-то время ваш бдомен могут заблокировать окончательно и бесповоротно. Куда именно переносить? Есть разные варианты, главное не попадите по глупости опять к какому-нибудь реселлеру Directi.</p>
<p>Можете попробовать <a href="http://moniker.com">moniker.com</a>, <a href="http://domainsite.com">domainsite.com</a>, <a href="http://name.com">name.com</a>, <a href="http://nic.ru">nic.ru</a> (у последнего много добрых реселлров, которые помогут перенести домены по демократичным ценам. Найти их проще всего будет на <a href="http://forum.searchengines.ru">forum.searchengines.ru</a>)</p>
<p>Хороший вариант предлагает<a href="http://regdom.name/domainchecker.php?search=bulktransfer"> regdom.name</a>. По ссылке форма для массового переноса доменов. Принимают любые домены, от директи, естов и прочих. Услуга скрытия whois предоставляется бесплатно. Очень дружелюбный саппорт, который вообще может всю процедуру переноса выполнить за вас.</p>
<p><strong>3. Распрострранять информацию о беспочвенных блокировках</strong></p>
<p>Вот что советует наш любимый <strong>Andy</strong> на <a title="Тема про абузы на главмеде" href="http://forum.glavmed.com/showthread.php?t=4667" target="_self">форуме Glavmed&#8217;а:</a></p>
<blockquote><p>«наша проблема = это профессиональные абузеры спонсируемые фармацевтическими компаниями и розничными сетями. Они абузят вообще все домены/системы которые занимаются дженериками.<br />
Мы работаем на собственных IP адресах, на своих аплинках, и я, как хостер, получаю в день порядка 100 писем с абузами. Большая часть написаны под копирку. Я примерно представляю что думает сотрудник абуз-службы регистратора доменов, когда ему в день приходят сотни и тысячи (т.к. доменов много) абуз. Я как могу веду разъяснительную работу с ними, но одному сложно.</p>
<p>При любой переписке с регистраторами по поводу заблокированных доменов, постарайтесь писать что абузы которые они получают - это фейк, сгенеренное фуфло. Интимные подробности и красочное описание какие вы на самом деле пушистые = по вкусу. Главное зародить в них зерно сомнения, что бы регистраторы начали хоть немного фильтровать тот поток бреда который им идет от мудаков-абузеров.»</p></blockquote>
<p><strong>Золотый слова, Юрий Венедиктович! Золотой ты человек! </strong></p>
<p>Всем желаю успехов на нелегком поприще выкачивания денег из сети. До новых встреч.</p>
]]></content:encoded>
			<wfw:commentRss>http://seofacts.ru/pharma-abuses/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Доктор Дик - русская фарма</title>
		<link>http://seofacts.ru/doktor-dik-russkaya-farma/</link>
		<comments>http://seofacts.ru/doktor-dik-russkaya-farma/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 17:43:11 +0000</pubDate>
		<dc:creator>bizon</dc:creator>
		
		<category><![CDATA[Партнерки]]></category>

		<category><![CDATA[Фарма]]></category>

		<category><![CDATA[доктор дик]]></category>

		<guid isPermaLink="false">http://seofacts.ru/?p=36</guid>
		<description><![CDATA[Для тех, кто давно в фарме - может быть и не секрет, а кому-то будет полезно узнать о российской фармацевтической партнёрке Доктор Дик.
Выбор препаратов простой - Виагра, Левитра, Сиалис. Лозунг - удовлетворить трёх сразу.  Если у вас есть англоязычные фарма-сателлиты или информационные сайты о &#8220;&#8230; side effects&#8221;  и т.п. - смело переводите на [...]]]></description>
			<content:encoded><![CDATA[<p>Для тех, кто давно в фарме - может быть и не секрет, а кому-то будет полезно узнать о российской фармацевтической партнёрке <a href="http://affilates.doktordick.com/register.php?wid=619">Доктор Дик</a>.</p>
<p>Выбор препаратов простой - Виагра, Левитра, Сиалис. Лозунг - удовлетворить трёх сразу.  Если у вас есть англоязычные фарма-сателлиты или информационные сайты о &#8220;&#8230; side effects&#8221;  и т.п. - смело переводите на русский, вешайте баннеры Доктор Дика, создавайте свою аптеку и получайте 20% от завершенных заказов.</p>
<p>Пока в стандратном наборе есть два варинта дизайна для вашей аптеки. При желании можно настроить всё по своему вкусу. Промо-материалов хватает, чтобы начать работать и получать неплохие деньги.</p>
<p>Регистрируйтесь по <a href="http://affilates.doktordick.com/register.php?wid=619">реф-ссылке</a> и я помогу вам заработать первые тысячи (выплаты в рублях, что удобно вообщем-то).  Успехов!</p>
]]></content:encoded>
			<wfw:commentRss>http://seofacts.ru/doktor-dik-russkaya-farma/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Первые копейки и 50 Самых Затратных Для Рекламодателя Ключевых Фраз</title>
		<link>http://seofacts.ru/pervye-kopejki-i-50-samyx-zatratnyx-dlya-reklamodatelya-klyuchevyx-fraz/</link>
		<comments>http://seofacts.ru/pervye-kopejki-i-50-samyx-zatratnyx-dlya-reklamodatelya-klyuchevyx-fraz/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 08:52:05 +0000</pubDate>
		<dc:creator>bizon</dc:creator>
		
		<category><![CDATA[PPC]]></category>

		<category><![CDATA[Партнерки]]></category>

		<category><![CDATA[Цели]]></category>

		<category><![CDATA[Google Adsense]]></category>

		<category><![CDATA[Klikvip]]></category>

		<category><![CDATA[дорвеи]]></category>

		<category><![CDATA[Доходы]]></category>

		<category><![CDATA[ключевые фразы]]></category>

		<category><![CDATA[слова]]></category>

		<guid isPermaLink="false">http://seofacts.ru/?p=31</guid>
		<description><![CDATA[Денёк выдался приятным. Прошло полторы недели с момента начала работы над дорами, проиндексированы пока, в основном, главные сттраницы, а я уже поимел первые клики. Вчера был один по финансовой тематике и один по viagra - в сумме $1.54. Сегодня уже два клика по viagra прошло = $2.84. Мелочи, но душу греют тем, что работа ведётся [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://seofacts.ru/wp-content/uploads/2008/12/915_1.jpg"><img class="alignleft size-medium wp-image-32" style="margin-left: 10px; margin-right: 10px;" title="dollars" src="http://seofacts.ru/wp-content/uploads/2008/12/915_1-300x225.jpg" alt="" width="300" height="225" /></a>Денёк выдался приятным. Прошло полторы недели с момента начала работы над дорами, проиндексированы пока, в основном, главные сттраницы, а я уже поимел первые клики. Вчера был один по финансовой тематике и один по <strong>viagra</strong> - в сумме $1.54. Сегодня уже два клика по <strong>viagra</strong> прошло = $2.84. Мелочи, но душу греют тем, что работа ведётся не впустую. Учитывая то, какое количество страниц ещё не проиндексировано, какое количество ссылок на них ещё не известно Гуглу - можно ожидать бычий тренд <img src='http://seofacts.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>В базе Пастухова ради интереса сделал выборку по затратам рекламодателей (количество переходов умноженное на стоимость клика). Сплошные кредиты и финансы. Немудрено.<span id="more-31"></span></p>
<p>Для тех, кто работает с Google Adsense и не только. Пользуйтесь. <strong>50 Самых Затратных Для Рекламодателя Ключевых Фраз</strong></p>
<table style="height: 1020px;" border="1" width="416">
<tbody>
<tr>
<th title="Keyword">Keyword</th>
<th title="Google CPC">Google CPC</th>
<th title="Google Cost/Month">Google Cost/Month</th>
</tr>
<tr>
<td align="left">mortgage</td>
<td align="right">$17.47</td>
<td align="right">$17,644,700.00</td>
</tr>
<tr>
<td align="left">insurance</td>
<td align="right">$17.11</td>
<td align="right">$17,281,100.00</td>
</tr>
<tr>
<td align="left">auto insurance</td>
<td align="right">$36.53</td>
<td align="right">$9,095,970.00</td>
</tr>
<tr>
<td align="left">insurance auto</td>
<td align="right">$32.46</td>
<td align="right">$8,082,540.00</td>
</tr>
<tr>
<td align="left">insurance quotes</td>
<td align="right">$33.53</td>
<td align="right">$6,840,120.00</td>
</tr>
<tr>
<td align="left">credit</td>
<td align="right">$11.53</td>
<td align="right">$6,410,680.00</td>
</tr>
<tr>
<td align="left">quotes insurance</td>
<td align="right">$30.53</td>
<td align="right">$6,228,120.00</td>
</tr>
<tr>
<td align="left">loans</td>
<td align="right">$12.85</td>
<td align="right">$4,780,200.00</td>
</tr>
<tr>
<td align="left">home mortgage</td>
<td align="right">$23.37</td>
<td align="right">$4,767,480.00</td>
</tr>
<tr>
<td align="left">mortgage home</td>
<td align="right">$23.33</td>
<td align="right">$4,759,320.00</td>
</tr>
<tr>
<td align="left">refinancing</td>
<td align="right">$37.78</td>
<td align="right">$4,193,580.00</td>
</tr>
<tr>
<td align="left">loan</td>
<td align="right">$11.27</td>
<td align="right">$4,192,440.00</td>
</tr>
<tr>
<td align="left">car insurance</td>
<td align="right">$18.48</td>
<td align="right">$3,769,920.00</td>
</tr>
<tr>
<td align="left">insurance car</td>
<td align="right">$18.44</td>
<td align="right">$3,761,760.00</td>
</tr>
<tr>
<td align="left">auto insurance quotes</td>
<td align="right">$38.92</td>
<td align="right">$3,557,288.00</td>
</tr>
<tr>
<td align="left">mortgage refinancing</td>
<td align="right">$38.60</td>
<td align="right">$3,528,040.00</td>
</tr>
<tr>
<td align="left">auto quotes</td>
<td align="right">$38.47</td>
<td align="right">$3,516,158.00</td>
</tr>
<tr>
<td align="left">refinancing home mortgage</td>
<td align="right">$37.01</td>
<td align="right">$3,382,714.00</td>
</tr>
<tr>
<td align="left">home mortgage refinancing</td>
<td align="right">$37.01</td>
<td align="right">$3,382,714.00</td>
</tr>
<tr>
<td align="left">refinancing mortgage</td>
<td align="right">$36.61</td>
<td align="right">$3,346,154.00</td>
</tr>
<tr>
<td align="left">refinancing home</td>
<td align="right">$36.53</td>
<td align="right">$3,338,842.00</td>
</tr>
<tr>
<td align="left">home refinancing</td>
<td align="right">$36.53</td>
<td align="right">$3,338,842.00</td>
</tr>
<tr>
<td align="left">quotes auto insurance</td>
<td align="right">$35.46</td>
<td align="right">$3,241,044.00</td>
</tr>
<tr>
<td align="left">quote</td>
<td align="right">$15.77</td>
<td align="right">$3,217,080.00</td>
</tr>
<tr>
<td align="left">debt</td>
<td align="right">$15.60</td>
<td align="right">$3,182,400.00</td>
</tr>
<tr>
<td align="left">finance</td>
<td align="right">$11.46</td>
<td align="right">$2,853,540.00</td>
</tr>
<tr>
<td align="left">free insurance quotes</td>
<td align="right">$28.60</td>
<td align="right">$2,614,040.00</td>
</tr>
<tr>
<td align="left">free quotes</td>
<td align="right">$28.28</td>
<td align="right">$2,584,792.00</td>
</tr>
<tr>
<td align="left">free insurance</td>
<td align="right">$27.98</td>
<td align="right">$2,557,372.00</td>
</tr>
<tr>
<td align="left">refinance</td>
<td align="right">$16.69</td>
<td align="right">$2,269,840.00</td>
</tr>
<tr>
<td align="left">equity</td>
<td align="right">$16.55</td>
<td align="right">$2,250,800.00</td>
</tr>
<tr>
<td align="left">credit card</td>
<td align="right">$13.77</td>
<td align="right">$1,872,720.00</td>
</tr>
<tr>
<td align="left">card credit</td>
<td align="right">$13.76</td>
<td align="right">$1,871,360.00</td>
</tr>
<tr>
<td align="left">credit debt</td>
<td align="right">$15.64</td>
<td align="right">$1,736,040.00</td>
</tr>
<tr>
<td align="left">hosting</td>
<td align="right">$12.37</td>
<td align="right">$1,682,320.00</td>
</tr>
<tr>
<td align="left">debt credit</td>
<td align="right">$14.25</td>
<td align="right">$1,581,750.00</td>
</tr>
<tr>
<td align="left">loans credit</td>
<td align="right">$13.77</td>
<td align="right">$1,528,470.00</td>
</tr>
<tr>
<td align="left">credit loans</td>
<td align="right">$13.77</td>
<td align="right">$1,528,470.00</td>
</tr>
<tr>
<td align="left">equity loans</td>
<td align="right">$16.55</td>
<td align="right">$1,512,670.00</td>
</tr>
<tr>
<td align="left">loans equity</td>
<td align="right">$16.54</td>
<td align="right">$1,511,756.00</td>
</tr>
<tr>
<td align="left">debt equity finance</td>
<td align="right">$16.39</td>
<td align="right">$1,498,046.00</td>
</tr>
<tr>
<td align="left">debt equity</td>
<td align="right">$16.38</td>
<td align="right">$1,497,132.00</td>
</tr>
<tr>
<td align="left">equity finance</td>
<td align="right">$16.38</td>
<td align="right">$1,497,132.00</td>
</tr>
<tr>
<td align="left">loans debt</td>
<td align="right">$16.21</td>
<td align="right">$1,481,594.00</td>
</tr>
<tr>
<td align="left">debt loans</td>
<td align="right">$16.21</td>
<td align="right">$1,481,594.00</td>
</tr>
<tr>
<td align="left">credit debt finance</td>
<td align="right">$16.20</td>
<td align="right">$1,480,680.00</td>
</tr>
<tr>
<td align="left">debt finance</td>
<td align="right">$16.20</td>
<td align="right">$1,480,680.00</td>
</tr>
<tr>
<td align="left">finance loans</td>
<td align="right">$16.05</td>
<td align="right">$1,466,970.00</td>
</tr>
<tr>
<td align="left">finance credit</td>
<td align="right">$15.89</td>
<td align="right">$1,452,346.00</td>
</tr>
<tr>
<td align="left">credit equity</td>
<td align="right">$15.88</td>
<td align="right">$1,451,432.00</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://seofacts.ru/pervye-kopejki-i-50-samyx-zatratnyx-dlya-reklamodatelya-klyuchevyx-fraz/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Факт №3. Будьте осторожней с доменами. Директи вовсю суспендит аптеки.</title>
		<link>http://seofacts.ru/fakt-3-budte-ostorozhnej-s-domenami-direkti-vovsyu-suspendit-apteki/</link>
		<comments>http://seofacts.ru/fakt-3-budte-ostorozhnej-s-domenami-direkti-vovsyu-suspendit-apteki/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 05:57:52 +0000</pubDate>
		<dc:creator>bizon</dc:creator>
		
		<category><![CDATA[Домены]]></category>

		<category><![CDATA[Фарма]]></category>

		<guid isPermaLink="false">http://seofacts.ru/?p=26</guid>
		<description><![CDATA[ День добрый! 
Вечером очень неприятно &#8220;обрадовал&#8221; человек из поддержки Главмеда, сообщив, что регистратор Директи засуспендил один из моих фарма-доменов.
Аптеку очень жалко, как родная стала. Да приходится призадуматься. Доменов в управлении - уймища, пачками регистрировались на Estdomains, который приказал долго жить.
Все домены оттуда теперь находятся под управлением Директи, а эти индусы, похоже, решили очистить интернет [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://seofacts.ru/wp-content/uploads/2008/12/clip4327.jpg"><img class="alignleft size-medium wp-image-25" style="margin-left: 10px; margin-right: 10px;" title="Фарма" src="http://seofacts.ru/wp-content/uploads/2008/12/clip4327-300x218.jpg" alt="" width="300" height="218" /></a> <strong>День добрый! </strong></p>
<p>Вечером очень неприятно &#8220;обрадовал&#8221; человек из поддержки Главмеда, сообщив, что регистратор Директи засуспендил один из моих <strong>фарма-доменов</strong>.</p>
<p>Аптеку очень жалко, как родная стала. Да приходится призадуматься. Доменов в управлении - уймища, пачками регистрировались на Estdomains, который приказал долго жить.</p>
<p>Все домены оттуда теперь находятся под управлением Директи, а эти индусы, похоже, решили очистить интернет от тех, кто зарабатывает на нём неплохие деньги. Мотивы неизвестны, результаты - плачевны.</p>
<p>Более того - речь идёт не только о Estdomains, ведь в большинстве своём домены регистрируются вебмастерами через реселлеров, которые в свою очередь &#8220;берут&#8221; их у регистратора. И настало время задуматься над тем - кто является вашим регистратором, чтобы, возможно, успеть спасти свои площадки от наглого индийского суспенда.</p>
<p>Во время написания заметки обратился к ЯППБ, узнать мнение других участников блогосферы. <a href="http://dimax.biz/2008/11/21/pro-domenyi-i-neadekvatnyih-registratorov/">Более подробно тему раскрыл Dimax</a>. Думаю, что скоро мы ещё не раз столкнемся праведным гневом блоггеров.</p>
<p>Доры начали активно индексироваться, но пока только лишь главные страницы.</p>
]]></content:encoded>
			<wfw:commentRss>http://seofacts.ru/fakt-3-budte-ostorozhnej-s-domenami-direkti-vovsyu-suspendit-apteki/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

