Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Двойное URL кодирование
 
 автор: Loki   (14.09.2005 в 15:45)   письмо автору
 
 

Столкнулся с проблемой:
для удаления из БД рефферера его имя передается скрипту через GET запрос. Чтобы все это правильно работало, строка кодируется с помощью rawurlencode(), а затем расшифровывается с помощью rawurldecode().
Проблема:
имеется рефферер:

http://alna.spb.ru/admin/count/delrefferer.php?name=http%3A%2F%2F213.180.204.11%2Fyandpage%3F%26q%3D532208484%26p%3D6%26ag%3Dd%26qs%3Dstype%3D%26nl%3D0%26text%3D%25CB%25C1%25CB%2B%25D0%25D2%25C1%25D7%25C9%25CC%25D8%25CE%25CF%2B%25C4%25C5%25CC%25C1%25D4%25D8%2B%25D3%25D4%25D1%25D6%25CB%25D5

То есть он сам по себе уже зашифрован правильным образом. Если его повторно прогнать через rawurlencode, а затем декодировать rawurldecode, то получаем строку отличную от исходной
'http://213.180.204.11/yandpage?&q=532208484&p=6&ag=d&qs=stype=&nl=0&text=ЛБЛ+РТБЧЙМШОП+ДЕМБФШ+УФСЦЛХ' 

видимо, повторного кодирования не происходит.
Вопрос: как передать такую строку через GET? (Совсем отказаться от кодирования нельзя).

   
 
 автор: Евгений Петров   (14.09.2005 в 16:31)   письмо автору
 
   для: Loki   (14.09.2005 в 15:45)
 

А почему бы не присвоить каждому рефереру в БД уникальный id и не удалять из БД. В твоем случае проблем будет ещё немеряно.

   
 
 автор: rj   (14.09.2005 в 16:39)   письмо автору
 
   для: Евгений Петров   (14.09.2005 в 16:31)
 

Правильная мысль! Самый лучший вариант.

   
 
 автор: Loki   (14.09.2005 в 17:45)   письмо автору
 
   для: Евгений Петров   (14.09.2005 в 16:31)
 

Потому что реффереры не уникальные. Если у меня 200 одинаковых реффереров, то мне совсем не улыбается удалять их поштучно:)

   
 
 автор: Евгений Петров   (14.09.2005 в 17:49)   письмо автору
 
   для: Loki   (14.09.2005 в 17:45)
 

Тогда мучайся. А вообще у меня выводит нормально:
http://alna.spb.ru/admin/count/delrefferer.php?name=http://213.180.204.11/yandpage?&q=532208484&p=6&ag=d&qs=stype=&nl=0&text=%CB%C1%CB+%D0%D2%C1%D7%C9%CC%D8%CE%CF+%C4%C5%CC%C1%D4%D8+%D3%D4%D1%D6%CB%D5

   
 
 автор: Loki   (14.09.2005 в 23:09)   письмо автору
 
   для: Евгений Петров   (14.09.2005 в 17:49)
 

Решение нашел: из принимающего файла надо убрать rawurldecode, так как данное преобразование производится броузером при передаче параметра через адресную строку.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования