zhidronsss

zhidronsss
Рейтинг
36
Регистрация
12.10.2007

функция рабочая get_file, остальное набросал в общих чертах. но должно работать- не испытывал

<?
$link="<a href=http://www.fuck.fu>Моя ссылка</a>";//текст вашего линка
$adres_proverki="http://www.tamgdessylko.ru/wah/coordinat.html";//адрес с ссылкой

//получение адреса robots.txt
$adres_proverki_parse=parse_url($adres_proverki);
$adres_proverki_robots_txt=@$adres_proverki_parse[scheme]."://".@$adres_proverki_parse[host]."/robots.txt";//адрес robots.txt
$robots_content=get_file($adres_proverki_robots_txt, "http://google.com");//дальше надо разобрать содержимое robots
// дальше обработка robots.txt
//...............
//...............тут обрабатывем содержимое роботс, хз какая логика
//...............


$page_content=get_file($adres_proverki, "http://google.com");
//дальше анализируем содержимое страницы

//условие 1 -NOINDEX+ тело script
//выстрегаем всё от <noindex> до </noindex>
$page_content=preg_replace("/<noindex>(*.?)<\/noindex>/is", "", $page_content);

//скрипты прирежем- могут и там запихнуть ссылку
$page_content=preg_replace("/<script[^>]*?[>].*?</script>/is", "", $page_content);



//условие 2- количество внешних ссылок
preg_match_all("#<a[\s].*?href[\s]*=[\s]*\\\?\"?'?(.*?)\\\?[\"'\s>]#is",$page_content,$href_array);
$external_link_count=count($href_array[1]);//количество внешних ссылок



$link_input_count = substr_count($page_content,$link);//можно так - количество вхождений вашей сслки в тексте страницы


//////////////////////////////////////////////////////////////вывод результата///////////////////////////////
if($link_input_count==1)
{
echo "ССЫЛКА НА МЕСТЕ!!!"; echo "Всего внешних".$external_link_count;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////



function get_file($url, $url_ref)
{
global $header, $user_agent, $cookie_file;
$process = curl_init($url);
curl_setopt($process, CURLOPT_HTTPHEADER, $header);
curl_setopt($process, CURLOPT_HEADER, 1);
curl_setopt($process, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
curl_setopt ($process, CURLOPT_REFERER , $url_ref);
curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);
$return = curl_exec($process);
curl_close($process);
return $return;
}

?>

логгика такая:

1. по адресу где находится ваша ссылка восстанавливаем путь до robots.txt

2. скачиваем роботс

3. анализируем роботс (не писал как- сами

4. скачиваем содержимое страницы

5. вырезаем то что (возможно) наход. между ноидекс+ скрипты

6. считаем внешние ссылки (если надо)

7. ищем свою ссылку

п.с. (пришла мысля что и там могут разместить) можно сразу вырезать то что идет до <body> и после </body>

чистый html быстрее отдается серверов т.к. нечего интерпретировать.

С целью оптимизации скорости (кэширование)- вполне достойное решение и давно применяется на тяжелых скриптах

Если это имел ввиду анализатор

<h1 id="logo"><a>Активный отдых на Урале</a></h1>

, то ничего страшного. Хотя есть мнение что лучше так не далать, а делать в чистом виде

<h1 id="logo">Активный отдых на Урале</h1>

типа как на укозе? так любая cms так или иначе решает вопросы

на текстовых файлах (Guppy CMS): ksweb.ru

похоже на самописанный движок

у Вас увели пароли ftp

Такое могут трояны делать если имя сервера, логин, пароль были прописаны в том же ТоталКомандер

1.Сменить пароли на доступ по ftp

2.Не хранить пароли на компьютере

пробовал, действительно тормозит, но пользоваться можно

это ифрейм-конструкция. у вас троян уволок пароли на фтп.

1. сменить пароль фтп

2. выправить скрипты

если вдруг iconv не работает на сервере то можно такую функцию применять

### функция конвертирования utf-8 ###

function convert_utf_string($str,$type){
// w - encodes from UTF to win ; u - encodes from win to UTF
static $conv='';
if(!is_array($conv)){
$conv=array();
for ($x=128;$x<=143; $x++){
$conv['utf'][]=chr(209).chr($x);
$conv['win'][]=chr($x+112);
}
for ($x=144; $x<=191; $x++){
$conv['utf'][]=chr(208).chr($x);
$conv['win'][]=chr($x+48);
}
$conv['utf'][]=chr(208).chr(129);
$conv['win'][]=chr(168);
$conv['utf'][]=chr(209).chr(145);
$conv['win'][]=chr(184);
}
if ($type=='w'){
return str_replace($conv['utf'],$conv['win'],$str );
} elseif ($type=='u'){
return str_replace ($conv['win'],$conv['utf'],$str);
} else {
return $str;
}
}
###

За отзыв (скидка) потестить можно?

Всего: 323