Обрезание параметров в URL

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 12 января 2011 в 11:48
Доброго времени суток. При вставке ссылок с несколькими параметрами в УРЛ, например ur.aspx?id=1&par=test&r=123&target=http://www.net.com/index.aspx?item=7 — происходит её преобразование. Знаки? заменяются на --q-- Отображение происходит нормально в виде ur.aspx--q--id=1&par=test&r=123&target=http://www.net.com/index.aspx--q--item=7 А вот при переходе по ней она обрезается до ur.aspx?id=1
Где-то происходит фильтрация с отбрасываием всего после &.Куда копать?
#2 12 января 2011 в 12:05
Igor-san, столкнулся на сайте с подобной проблемой. Объяснил посетителям, чтобы вставляли ссылки с помощью Иллюстрацияи тогда проблем не будет.

Тоже интересует данная тема.
#3 12 января 2011 в 13:42
Э-э. А если реклама с трэкингом? Надо решать.
#4 12 января 2011 в 14:45
Этот топик пример обхода редиректа. дыра для спамеров ;)
#5 12 января 2011 в 17:48


Igor-san, столкнулся на сайте с подобной проблемой. Объяснил посетителям, чтобы вставляли ссылки с помощью Иллюстрацияи тогда проблем не будет.

Тоже интересует данная тема.

Евгений
Евгений. Там проблема с RewriteRule который обрезает параметры в URl. С наскоку решить не удалось, поэтому я сделал обходной маневр, который к тому же не коснется спамеров (как тут некоторые предполагают). Делаем возможность админу постить в ББкодах урл без обработки. Открываем файл includes/bbcode/bbcode.lib.php b в функции url_2html заменяем
  1. if ($href) {
  2. if (preg_match('/^http:\/\/'.$_SERVER['HTTP_HOST'].'/', $href)){
  3. $url = $href;
  4. $local = true;
  5. } else {
  6. $url = '/redirect?url='.htmlspecialchars($this->process_url($href));
  7. $local = false;
  8. }
на

  1. if ($href) {
  2. if (preg_match('/^http:\/\/'.$_SERVER['HTTP_HOST'].'/', $href)){
  3. $url = $href;
  4. $local = true;
  5. } else {
  6. //Делаю для админа исключение минуя обработки
  7. $inUser = cmsUser::getInstance();
  8. if ($inUser->is_admin)
  9. {
  10. $url = htmlspecialchars($href);
  11. } else
  12. {
  13. $url = '/redirect?url='.htmlspecialchars($this->process_url($href));
  14. }
  15. $local = false;
  16. }
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.