Перейти к публикации

Модуль DLE "Партнеры сайта" Версия 1.0


Рекомендованные сообщения

Здравствуйте установил модуль DLE "Партнеры сайта" Версия 1.0

При проверке обратной ссылки пишет что её нет.

Проверка работает в том случае если на сайте-партнере стоит прямая ссылка на сайт без модификаций вида :

http://www.site.ru/go.php?http://example.ru
и т.п Ещё хочу дополнить: Что проверка даже прямой ссылки работает только если она находится строго между тегами
<body></body>[/code]


Не проверяется если тег <body> изменен. К примеру 

[code]<body bgcolor="#1a1a1a" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">[/code]
Вот как я понимаю код модуля для проверки ссылок
[code] function CheckPartner($email,$site_url,$site_name,$site_descr){ global $partners_lang; $err=""; if ((preg_match("/[^(\w)|(\@)|(\.)|(\-)]/",$email)) || (strlen($site_name)<8)) {$err.=$partners_lang['email_err']."<br>";} if ((stripos($site_url,"http://")===false) ||(strlen($site_url)<12)||(strlen($site_url)>255)) {$err.=$partners_lang['url_err']."<br>";} if ((strlen($site_name)>255) || (strlen($site_name)<5)) {$err.=$partners_lang['name_err']."<br>";} if ((strlen($site_descr) > 255)||(strlen($site_descr) <5)) {$err.=$partners_lang['desc_err']."<br>";} if($err!=""){return $err;}else{return false;} } function CheckPresent($my_url,$content){ preg_match("/<body>(.*)<\/body>/is", $content, $out); $content = $out[0]; $pattern = '/<a.*'.preg_quote($my_url,'/').'.*<\/a>/i'; //echo '<textarea style="width:500px;" rows=5>'.$content.'</textarea>'; if (!preg_match($pattern, $content)){ return false; }else return true; } function Checknoind($my_url,$content){ preg_match_all("#<noindex>(.*?)<\/noindex>#is", $content, $out); for ($i=0; $i< count($out[0]); $i++) { if(stripos($out[0][$i],$my_url)!==false){return false;} } return true; } function Checknofoll($my_url,$content){ $pattern = '/<a.*'.preg_quote($my_url,'/').'.*<\/a>/i'; preg_match($pattern, $content, $out); if(stripos($out[0],"nofollow")!==false){return false;}else{return true;} } function Checkrobots($remote_url){ $robotsTxt = new Xbb_RobotsTxt($remote_url); if ( $robotsTxt->allow($remote_url, 'Yandex') ) { return true; } else { return false; } } function Checkcomm($my_url,$content){ preg_match_all("#<!--(.*?)-->#is", $content, $out); for ($i=0; $i< count($out[0]); $i++) { if(stripos($out[0][$i],$my_url)!==false){return false;} } return true; } function CheckBackLink($my_url,$remote_url){ global $partners_lang; $remote_url = parse_url($remote_url); $remote_url = "http://".$remote_url['host']."/"; $err=""; $content = file_get_contents($remote_url); if($content==""){return $partners_lang['open_site_err']." <b>".$remote_url."</b>";} if(!CheckPresent($my_url,$content)){return $partners_lang['backlink_err']." <b>".$remote_url."</b>";} if(!Checknoind($my_url,$content)){$err.=$partners_lang['back_noind_err']."<br>";} if(!Checknofoll($my_url,$content)){$err.=$partners_lang['back_nofoll_err']."<br>";} if(!Checkcomm($my_url,$content)){$err.=$partners_lang['back_comm_err']."<br>";} if(!Checkrobots($remote_url)){$err.=$partners_lang['back_rob_err']."<br>";} if($err==""){return false;}else{return $err;} } function CheckDubl($url){ global $db, $partners_lang; $url = str_replace("http://www.","http://",$url); $url = parse_url($url); $sql_result = $db->query("SELECT site_url FROM ".PREFIX."_partners WHERE site_url LIKE '%".$url['host']."%'"); $row = $db->get_row( $sql_result ); $row['site_url'] = str_replace("http://www.","http://",$row['site_url']); $row = parse_url($row['site_url']); if(stripos($url['host'],$row['host'])===false){return false;}else{return $partners_lang['dubl_err'];} } [/code]

файл inc/include/partners.func.php Подскажите пожалуйста что в нем изменить чтобы проверял не только прямые ссылки, но и модифицированные. И без тегов <body>

Подскажите есть ли решение? Версия dle 9.7

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...