Смотрю я на авторегу аллсаба и думаю: как меня затрахало каждый раз то прописывать Disallow: /backlinks/ в robots.txt по кончании реги, и убирать до реги и каждый раз поставишь disallow и начнут валиться письма о том что мол ссылка не индексируется. Начал думать о дорах, и пришла мне в голова такая мысль: а почему бы не объеденить скрипт бэклинков и доры. Запустил red.button, сделал дор, поковырял чуть файлы. затем расковырял скрипт каталога аллсаба(кстати не оригинальный, а чей то. Работает не с базой а с фс). В итоге соединив всё воедино у меня получился вот такой скрипт: Code: <?php error_reporting(0); define("BASE_FOLDER", "123fcb175497ec32d34a734238089fd"); $setup['allsubmitter_login'] = 'login'; $setup['allsubmitter_pw'] = 'password'; $addlink = GetParametr('addlink', 'post'); if ($addlink == 1) AddLinkPost(); $dellink = GetParametr('dellink', 'post'); if ($dellink == 1) DelLinkPost(); $domain = $_SERVER['REMOTE_ADDR']; $userag = $_SERVER['HTTP_USER_AGENT']; $s = $_SERVER['HTTP_REFERER']; $stop_ip_mask = Array("66\.249\.[6-9][0-9]\.[0-9]+", "74\.125\.[0-9]+\.[0-9]+", "65\.5[2-5]\.[0-9]+\.[0-9]+", "74\.6\.[0-9]+\.[0-9]+", "67\.195\.[0-9]+\.[0-9]+", "72\.30\.[0-9]+\.[0-9]+", "38\.[0-9]+\.[0-9]+\.[0-9]+", "93\.172\.94\.227", "212\.100\.250\.218", "71\.165\.223\.134", "70\.91\.180\.25", "65\.93\.62\.242", "74\.193\.246\.129", "213\.144\.15\.38", "195\.92\.229\.2", "70\.50\.189\.191", "218\.28\.88\.99", "165\.160\.2\.20", "89\.122\.224\.230", "66\.230\.175\.124", "218\.18\.174\.27", "65\.33\.87\.94", "67\.210\.111\.241", "81\.135\.175\.70", "64\.69\.34\.134", "89\.149\.253\.169", "64\.233\.1[6-8][1-9]\.[0-9]+", "64\.233\.19[0-1]\.[0-9]+", "209\.185\.108\.[0-9]+", "209\.185\.253\.[0-9]+", "209\.85\.238\.[0-9]+", "216\.239\.33\.9[6-9]", "216\.239\.37\.9[8-9]", "216\.239\.39\.9[8-9]", "216\.239\.41\.9[6-9]", "216\.239\.45\.4", "216\.239\.46\.[0-9]+", "216\.239\.51\.9[6-9]", "216\.239\.53\.9[8-9]", "216\.239\.57\.9[6-9]", "216\.239\.59\.9[8-9]", "216\.33\.229\.163", "64\.233\.173\.[0-9]+", "64\.68\.8[0-9]\.[0-9]+", "64\.68\.9[0-2]\.[0-9]+", "72\.14\.199\.[0-9]+", "8\.6\.48\.[0-9]+", "207\.211\.40\.82", "67\.162\.158\.146", "66\.255\.53\.123", "24\.200\.208\.112", "129\.187\.148\.240", "129\.187\.148\.244", "199\.126\.151\.229", "118\.124\.32\.193", "89\.149\.217\.191"); foreach ( $stop_ip_mask as $k=>$v ) if ( preg_match( "#^".$v."$#", $_SERVER['REMOTE_ADDR'])) $bot = true; $stop_useragents = array("http,","google","slurp","msnbot","bot","crawl","spider","robot","HttpClient","curl","PHP","Indy Library","WordPress","Charlotte","wwwster","Python","urllib","perl","libwww","lynx","Twiceler","rambler","yandex"); $word = Array ("keyword1", "keyword2", "keyword3", "верстка", "дизайн", "css"); if (preg_match("/q=([^&]*)/", $s, $a)) { $a = preg_split("/\+/", $a[1]); for ($i = 0; $i < count($a); $i++) { $a[$i] = iconv('utf-8', 'cp1251', preg_replace("/\%(..)/e", "chr(hexdec('\\1'));", $a[$i])); for ($k = 0; $k < count($word); $k++) if (preg_match("/{$word[$k]}/", $a[$i])) $show = true; } } if (!empty($userag) && ( FALSE !== strpos(preg_replace($stop_useragents, "--REPLACEDUSERAGENT--", $userag), "--REPLACEDUSERAGENT--"))) $bot = true; if ($bot!==true && $show==true) { header("location:http://site.com/index.php");//редирект на сайт } else if ($bot!==true) { FindLink(); } else { $page = rand(1,670);//файлов в доре if (!$page) $page=0; $inc_page=floor($page/10)+1; include_once($inc_page.".php"); $shablon=file_get_contents("shablon.html"); $myshab=explode("<hr size=1 id=8888>", $shablon); unset($shablon); $post1=$myshab[1]; $post2=$myshab[2]; $map=$myshab[3]; $myshab=$myshab[0]."{ADD}".$myshab[4]; if (strstr($myshab, "[KEYWORD]")) $myshab=str_replace("[KEYWORD]", $dino[$page]['KEYWORD'], $myshab); if (strstr($myshab, "[N]")) $myshab=str_replace("[N]", $page, $myshab); if (strstr($myshab, "[TAGS]")) $myshab=str_replace("[TAGS]", $dino[0]['TAGS'], $myshab); $po="/\[([A-Z0-9-]*)\]/"; preg_match_all($po, $myshab, $mass); for ($m=0, $sm=sizeof($mass[1]); $m<$sm; $m++){ $prim=$mass[1][$m]; $my[$prim]=@explode("|", $dino[$page][$prim]); for ($i=0, $si=sizeof($my[$prim]); $i<$si; $i++){ preg_match("/\[".$prim."\]/", $myshab, $m1); $myshab=preg_replace("/\[".$prim."\]/", $my[$prim][$i], $myshab, 1); } } $po="/\[([A-Z0-9-]*)\]/"; preg_match_all($po, $myshab, $mass); for ($m=0, $sm=sizeof($mass[1]); $m<$sm; $m++){ $prim=$mass[1][$m]; $my[$prim]=@explode("|", $dino[$page][$prim]); for ($i=0, $si=sizeof($my[$prim]); $i<$si; $i++){ preg_match("/\[".$prim."\]/", $myshab, $m1); if ($my[$prim][$i]) $myshab=preg_replace("/\[".$prim."\]/", $my[$prim][$i], $myshab, 1); } } if (strstr($myshab, "[KEYWORD]")) $myshab=str_replace("[KEYWORD]", $dino[$page]['KEYWORD'], $myshab); if (strstr($myshab, "[N]")) $myshab=str_replace("[N]", $page, $myshab); if (strstr($myshab, "[TAGS]")) $myshab=str_replace("[TAGS]", $dino[0]['TAGS'], $myshab); if (strstr($myshab, "[SITE]")) $myshab=str_replace("[SITE]", $dino[0]['SITE'], $myshab); if (strstr($myshab, "{ADD}")) { $dino[$page]['MYPOST']=str_replace("||", "", $dino[$page]['MYPOST']); $myshab=str_replace("{ADD}", $dino[$page]['MYPOST'], $myshab); } $myshab=str_replace("<!-- hesoyam rb -->", "", $myshab); print $myshab; } function make_seed() { list($usec, $sec) = explode(' ', microtime()); return (float) $sec + ((float) $usec * 100000); } function file_put_contentz($file, $content) { $h = fopen($file, 'wb'); fwrite($h, $content, strlen($content)); fclose($h); } exit; function FindLink() { global $setup; $id = GetParametr('id', 'get'); $linkdata = file_get_contents(BASE_FOLDER . "/{$id}.txt"); echo $linkdata; } function DelLinkPost() { global $setup; $pw = GetParametr('pw', 'post'); $login = GetParametr('login', 'post'); if (($login != $setup['allsubmitter_login']) or ($pw != $setup['allsubmitter_pw'])) { echo 'strbeg' . 'errorlogin' . 'strend'; exit; } echo 'strbeg' . 'Deleted!' . 'strend'; exit; } function AddLinkPost() { global $setup; $pw = GetParametr('pw', 'post'); $login = GetParametr('login', 'post'); $linkdata = GoodVal(GetParametr('linkdata', 'post')); if (($login != $setup['allsubmitter_login']) or ($pw != $setup['allsubmitter_pw'])) { echo 'strbeg' . 'errorlogin' . 'strend'; exit; } do { mt_srand(make_seed()); $newFileName = mt_rand(100000000, 999999999); } while (file_exists(BASE_FOLDER . "/{$newFileName}.txt")); file_put_contentz(BASE_FOLDER . "/{$newFileName}.txt", $linkdata); echo 'strbeg' . $newFileName . 'strend'; exit; } function GetParametr($name, $type) { global $HTTP_GET_VARS, $HTTP_POST_VARS; if ($type == 'get') $from = $_GET; if ($type == 'post') $from = $_POST; $par = -1; while (list($key, $val) = each($from)) { if ($key == $name) { $par = $val; } } return $par; } function GoodVal($str) { $str = str_replace('\"', '"', $str); return str_replace("\'", "'", $str); } ?> В итоге получается, что добавляется на сайт пару десятков страниц с кейвордами(которые видят поисковики), автоматические скрипты каталогов свои ссылки, а мы получаем траф, которые нам так нужен. плюс этого в том, что мы получаем дополнительную ссылку, и 99% что она индексируется, даже если основная не индексируется. а минус в том что так делать нехорошо( темка может вы скажете и баян, но я такого не видел) и пришёл к этому сам