machthaber Опубликовано 20 Декабря 2007 Жалоба Поделиться Опубликовано 20 Декабря 2007 А еще вот такой вопрос. как сделать, чтобы старые ссылки тоже стали через редирект?Зашел в "настройки" -> "пересчет и обновления" -> "перестройка содержимого сообщений", но все по старому, ничего не изменилось. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
machthaber Опубликовано 29 Декабря 2007 Жалоба Поделиться Опубликовано 29 Декабря 2007 ну чё, никто не знает что ли? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 29 Декабря 2007 Автор Жалоба Поделиться Опубликовано 29 Декабря 2007 UPDATE ibf_posts SET post = REPLACE (post, 'старое', 'новое'); Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 3 Января 2008 Жалоба Поделиться Опубликовано 3 Января 2008 Джаваскрипт:<script type="text/javascript"> function dereferer(val){ deref=window.open('http://ya.ru','','toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes'); deref.window.location=val } </script> Линк преобразовать к виду:<a href="java script:;" onclick="java script:dereferer('http://domen.ru/site.php')">http://domen.ru/site.php</a> Документ-реферером будет яндекс. Теоретически, есть минимальный риск возникновения ошибки доступа: если имеется сверхбыстрый интернет, и сверхмедленный компьютер. Абсолютно надежна конструкция с "эбаут:бланк", которая будет работать всегда без ошибок:deref=window.open('about:blank','','toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes');Внимание! java script нужно писать слитно! Для 2.3.3:1. Добавить код функции dereferer(val) в ./jscripts/ipb_global.php:function dereferer(val){ deref=window.open('http://ya.ru','','toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes'); deref.window.location.href=val; } 2. Открыть ./source/classes/bbcoe/class_bbcode_core.php, найти в функции regex_build_url( $url=array() ): return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];Заменить на: return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"java script:void(0);\" onclick=\"dereferer('{$url['html']}');\">".$show."</a>" . $url['end']; 3. Открыть ./source/classes/bbcoe/class_bbcode.php (и class_bbcode_legacy.php), найти в функции pre_edit_parse($txt=""): $txt = preg_replace( "#<a href=[\"'](http://|https://|ftp://|news://)?(\S+?)['\"].*?".">(.+?)</a>#s" , "\[url=\"\\1\\2\"\]\\3\[/url\]" , $txt );Добавить перед: $txt = preg_replace( "#<a href=\"java script:void\(0\);\" onclick=\"dereferer\('(http://|https://|ftp://|news://)?(\S+?)'\);\".*?".">(.+?)</a>#s" , "\[url=\"\\1\\2\"\]\\3\[/url\]" , $txt ); P.S. FatCat, а почему при этот происходит задержка перед загрузкой целевой страницы? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 3 Января 2008 Автор Жалоба Поделиться Опубликовано 3 Января 2008 P.S. FatCat, а почему при этот происходит задержка перед загрузкой целевой страницы?Потому, что новая происходит последовательное обращение к двум страницам. Скрипт эмулирует три действия пользователя: клик - переход на яндекс, затем как бы ввод в адресную строку нужного URL, и затем второй клик - переход на URL. Если прислушаться в и-эксплорере, слышно два щелчка, а не один, как при обычном переходе по ссылке. Первый щелчок - это отправка запроса к яндексу (или к *.dll, содержащей эбаут:бланк), и именно тогда заполняется документ.реферер; второй щелчок - обращение к странице линка. У меня довольно шустрый компьютер, и эти два щелчка сливаются в один дробный щелчок.Если компьютер о-о-о-очень медленный, есть риск, что яндекс успеет загрузиться, и после этого попытка скрипта совершить переход по линку вызовет ошибку доступа. Потому я и писал, что вызов через эбаут:бланк более надежный: по локалхосту нет запрета доступа локальным сценариям. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 3 Января 2008 Жалоба Поделиться Опубликовано 3 Января 2008 Меня удивило время задержки, компьютер не слабый, а разница при переходе по прямой ссылке и через скрипт на глаз раз в 5-10, не много ли? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 3 Января 2008 Автор Жалоба Поделиться Опубликовано 3 Января 2008 Меня удивило время задержки, компьютер не слабый, а разница при переходе по прямой ссылке и через скрипт на глаз раз в 5-10, не много ли?У меня разница меньше секунды. Причем одинаково и в ИЕ, и в Опере. Теоретически, задержку могут увеличивать всякие тулбары, навешанные на браузер, и антивирус.Тулбаров у меня нет вообще никаких, антивирус у меня МакЭфи - может быть в этом дело. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ромарио Опубликовано 10 Января 2008 Жалоба Поделиться Опубликовано 10 Января 2008 блин много всего... скажите лучще прямо в отдельном посте как сделать для форума 2.3.3 для файлика go.php<html><head></head><body> <script type="text/javascript"> var sloc=window.location+'' if(!sloc.split('go.php?')[1])location='/404.php' else location=sloc.split('go.php?')[1] </script> </body></html> Чтобы все ссылки на форуме были на сам форум... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 10 Января 2008 Автор Жалоба Поделиться Опубликовано 10 Января 2008 для файлика go.phpФайлик в своем домене будет лежать?Тогда по документ.реферер будет определяться Ваш домен, скроет только, с какой страницы осуществлен переход. ИМХО, идея подстановки в документ.реферер яндекса или эбаут:бланк - самая лучшая идея. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ромарио Опубликовано 10 Января 2008 Жалоба Поделиться Опубликовано 10 Января 2008 да файлик на моем домене... да всеравно мне на реферер лижбы ссылки не были прямые... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 11 Января 2008 Автор Жалоба Поделиться Опубликовано 11 Января 2008 лижбы ссылки не были прямые...Тогда не понял, что требуется... Поковеркать ссылки проще всего парсером. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ромарио Опубликовано 11 Января 2008 Жалоба Поделиться Опубликовано 11 Января 2008 ну вобщем на старом форуме у меня было так что все ссылки которые добавляли пользователи перепарсивались в ссылку с редиректом через go.php Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 11 Января 2008 Жалоба Поделиться Опубликовано 11 Января 2008 скажите лучще прямо в отдельном посте как сделать для форума 2.3.34 страницы много? Вы видимо только 3 осилили, ибо на 4й это есть Только нужно заменять не через яву, а через ваш редирект, это написано на тойже странице чуток выше. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
nuclearman Опубликовано 15 Января 2008 Жалоба Поделиться Опубликовано 15 Января 2008 Доброго времени суток. Сделал так чтобы ссылка после go.php?url= еще шифровалась в base64. if (!stristr($url['html'], "domain.ru")) { return ( isset($url['st']) ? $url['st'] : '' ) . "<noindex><a href='http://www.domain.ru/go.php?url=".$url['html'] = base64_encode($url['html'])."' rel=\"nofollow\" target='_blank'>".$show."</a></noindex>" . $url['end']; } else { return ( isset($url['st']) ? $url['st'] : '' ) . "<noindex><a href='".$url['html'] = base64_encode($url['html'])."' rel=\"nofollow\" target='_blank'>".$show."</a></noindex>" . $url['end']; } Неподскажите что нужно добавить в pre_edit_parse чтобы при редактировании поста она декодировались в нормальный вид? Немогу понять куда можно там вставить base64_decode Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ромарио Опубликовано 15 Января 2008 Жалоба Поделиться Опубликовано 15 Января 2008 да, новые ссылки нормально создаются... проблема только с теми, что были раньше. в админке персчет и обновление сообщений нада делать FatCat помоги... ниче не понял тут... куда в какой файл чего вставить, чтобы ссылки парсились в http://www.domen.ru/go.php?http://www.owndomen.ru/ версия 2.3.1 Чтобы не зависеть от чужого анонимайзера, можно сделать свой. По документ-реферер будет виден домен, но не будет видно, с какой страницы домена осуществлен переход:"<a href='goto.html\?".$url['html']."' target='_blank'>".$show."</a>"Сделал, чтобы и домен было не видно, и сам анонимайзер "встроен" в линк return $url['st'] . "<a href=\"& #106;& #97;& #118;& #97;& #115;& #99;& #114;& #105;& #112;& #116;:tlt=window.open();tlt.document.write('<& #115;& #99;& #114;& #105;& #112;& #116; type=& #92;& #39;text\/& #106;& #97;& #118;& #97;& #115;& #99;& #114;& #105;& #112;& #116;& #92;& #39;>location=& #92;& #39;".$url['html']."& #92;& #39;<\/& #115;& #99;& #114;& #105;& #112;& #116;>');\" title='".$show."'>".$show."</a>" . $url['end'];Пробелы между амперсандами и решетками убрать.По document_referer теперь будет отдаваться локалхост Сорри, исправил код. UPD Добавил анконвертер: В функцию function unconvert($txt="", $code=1, $html=0) {добавить в начало:$txt = preg_replace( "#<a href=[\"']&\#106;&\#97;&\#118;&\#97;&\#115;&\#99;&\#114;&\#105;&\#112;&\#116;:tlt=window.open\(\);tlt.document.write\('<&\#115;&\#99;&\#114;&\#105;&\#112;&\#116; type=&\#92;&\#39;text/&\#106;&\#97;&\#118;&\#97;&\#115;&\#99;&\#114;&\#105;&\#112;&\#116;&\#92;&\#39;>location=&\#92;&\#39;(.+?)&\#92;&\#39;</&\#115;&\#99;&\#114;&\#105;&\#112;&\#116;>'\);\" title='(.+?)'>(.+?)</a>#" , "\[URL=\\1\]\\2\[/URL\]" , $txt ); ССЫЛКА делается с лишними слешами, это раз При редактировании декодер не декодит, видимо из-за слешей этих самых... это два С кодом пытаюсь разобраться, но думаю понадобится помощь... ссылка при добавлении получается:<a href="& #106;& #97;& #118;& #97;& #115;& #99;& #114;& #105;& #112;& #116;:tlt=window.open();tlt.document.write('<& #115;& #99;& #114;& #105;& #112;& #116; type=& #92;& #39;text\/& #106;& #97;& #118;& #97;& #115;& #99;& #114;& #105;& #112;& #116;& #92;& #39;>location=& #92;& #39;http://java%20script:tlt=window.open();tlt.document.write(& #92;& #39;<\/& #115;& #99;& #114;& #105;& #112;& #116;>');" title='location=& #092;& #39;http://ya.ru& #092;& #39;</script>& #39;);" title=& #39;http://ya.ru& #39;>http://ya.ru'>location=& #092;& #39;http://ya.ru& #092;& #39;</script>& #39;);" title=& #39;http://ya.ru& #39;>http://ya.ru</a> Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ромарио Опубликовано 16 Января 2008 Жалоба Поделиться Опубликовано 16 Января 2008 P.S. FatCat, а почему при этот происходит задержка перед загрузкой целевой страницы?Потому, что новая происходит последовательное обращение к двум страницам. Скрипт эмулирует три действия пользователя: клик - переход на яндекс, затем как бы ввод в адресную строку нужного URL, и затем второй клик - переход на URL. Если прислушаться в и-эксплорере, слышно два щелчка, а не один, как при обычном переходе по ссылке. Первый щелчок - это отправка запроса к яндексу (или к *.dll, содержащей эбаут:бланк), и именно тогда заполняется документ.реферер; второй щелчок - обращение к странице линка. У меня довольно шустрый компьютер, и эти два щелчка сливаются в один дробный щелчок.Если компьютер о-о-о-очень медленный, есть риск, что яндекс успеет загрузиться, и после этого попытка скрипта совершить переход по линку вызовет ошибку доступа. Потому я и писал, что вызов через эбаут:бланк более надежный: по локалхосту нет запрета доступа локальным сценариям. в Опере недетская пауза перед переходом...в 6м ксплорере умеренная пауза, но заметная, в адресе можно увидеть ya.ruв FireFox вабще самая малая задержка и не видно адреса ya.ru Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
POGRANICHNIK Опубликовано 27 Января 2008 Жалоба Поделиться Опубликовано 27 Января 2008 (изменено) Народ, прочитал 5 страниц вдоль и поперек, здорово у вас тут сюжет закручен!!!А нельзя ли в одном посте или файле собрать вашу замечательную переписку, чтоб все стало на свои места, а то читай сообщение №, в сообщении № сам черт ногу сломит и весь топик на одних оверквотингах построен! Большая человеческая просьба, сделайте ПО ЧЕЛОВЕЧЕСКИ! Изменено 27 Января 2008 пользователем POGRANICHNIK Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 28 Января 2008 Автор Жалоба Поделиться Опубликовано 28 Января 2008 Большая человеческая просьба, сделайте ПО ЧЕЛОВЕЧЕСКИ!Тут в кучу смешались несколько вариантов модификации.ИМХО, лучший вариант - последний.Для "двушек" это #79. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
-Cross- Опубликовано 2 Февраля 2008 Жалоба Поделиться Опубликовано 2 Февраля 2008 Ужас как всё закручено...Может кто нибудь мне переделает за $?Версия форума 2.3.4Хочу:что бы ссылки были типа:redirect.php?to=ссылкаЧто бы ссылки были в noflow и noindexЧто бы ссылки на мой форум не попадали под редирект, ноиндекс и нофлоуЧто бы при редактировании и цитировании не было никаких ошибок (типа редиректа не редирект и тд)И что бы все существующие ссылки заменились. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 2 Февраля 2008 Автор Жалоба Поделиться Опубликовано 2 Февраля 2008 2-Cross-:Под двушку делать не буду, но попробую отговорить от неверного решения. Смысл скрывать document.referer: Не дать поисковкам проиндексировать линки на сайты конкурентов; Если у Вас варезный контент, не дать правообладателям зафиксировать переходы на их сайты и даунлоады с их сайтов; мелкая пакость рекламным ботам и подобной шушере. Теперь по пунктам: Многим поисковкам плевать на "ноиндекс", они всё равно проанализируют контейнер <a htef="URL" ... > А вот параметр, передаваемый функции джаваскрипт, они индексировать не будут, ибо не сумеют.При переходе на сайт правообладателя через redir.php Вы скроете страницу, с которой осуществлен переход, но домен не скроется. Джаваскрипт позволит передать правообладателю ту ложную информацию о реферале, какую Вы пожелаете, в моем примере это яндекс.Разве что ботам пофигу; у них все равно сайты-редиректы; им нужны кликабельность ссылок... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
-Cross- Опубликовано 2 Февраля 2008 Жалоба Поделиться Опубликовано 2 Февраля 2008 Не дать поисковкам проиндексировать линки на сайты конкурентов;Не совсем для этого, но это тоже надо. Если у Вас варезный контент, не дать правообладателям зафиксировать переходы на их сайты и даунлоады с их сайтов;Боже упаси, я не распространяю варез. Многим поисковкам плевать на "ноиндекс", они всё равно проанализируют контейнер <a htef="URL" ... > А вот параметр, передаваемый функции джаваскрипт, они индексировать не будут, ибо не сумеют.Чем меньше внешних, тем это лучше отражается на позициях в пс. Я изучаю SEO уже на протяжении года, даже уже немного больше чем года... чисто для себя.Ноиндекс - это для яши. Нофлоу для гугли, и (если не ошибаюсь) для яху. Моя цель не скрыть document.referer. А избавиться от внешних. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 2 Февраля 2008 Автор Жалоба Поделиться Опубликовано 2 Февраля 2008 Моя цель не скрыть document.referer. А избавиться от внешних.Тогда самое простое: редирект в своем домене, и все линки стали внутренними. Достигается минимальной правкой парсера.Глянь в этом топике сообщение #26. Вместо anonym.to сделай свой редирект. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
-Cross- Опубликовано 2 Февраля 2008 Жалоба Поделиться Опубликовано 2 Февраля 2008 Вот это как я понял?if (!stristr($url['html'], "test217.ru") and !stristr($url['html'], "anonym.to") and !stristr($url['html'], "yandex") and !stristr($url['html'], "03.ru")) { return $url['st'] . "<a href='http://anonym.to/\?".$url['html']."' target='_blank'>".$show."</a>" . $url['end']; } else { return $url['st'] . "<a href='".$url['html']."' target='_blank'>".$show."</a>" . $url['end']; }А как под 2.3 подогнать?В 2.3 вместо:return $url['st'] . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];Идёт это:return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end']; И ещё, что бы мне вставить редирект, мне просто надо будет перед ".$url['html']." вписать redirect.php?to=? Или ещё надо ставить какие нибудь знаки? А то я в этих законах php не оч шарю. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
-Cross- Опубликовано 3 Февраля 2008 Жалоба Поделиться Опубликовано 3 Февраля 2008 Ну может кто поможет мне правильно переделать? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 3 Февраля 2008 Автор Жалоба Поделиться Опубликовано 3 Февраля 2008 Ну может кто поможет мне правильно переделать?Попробуйif (!stristr($url['html'], "твой_домен.ru") and !stristr($url['html'], "redirect.php") and !stristr($url['html'], "yandex") and !stristr($url['html'], "03.ru")) { return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"redirect.php?to=".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end']; } else { return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end']; }Я не проверял, но по идее должно так работать. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.