Forum Webscript.Ru
Программирование => PHP => Тема начата: Sniper от 03 Января 2004, 13:50:42
-
Здравстуте, все! С новым годом!
Вопрос такой:
Как очистить адрессную строку от всякого "мусора" (параметров работы скриптов) Пример:
http://www.domen.ru/forum.php?action=post&id=0092783
Такое дело реализовано на http://www.bankreferatov.ru
Там в адрессной строке только домен и раздел (не имя файла ПХП, а РАЗДЕЛ)..
Может кто подскажет...
-
если
http://www.bankreferatov.ru/db/Satchel?Open&0.6478445245575963
это значит без мусора, то я цветной телевизор
-
Sniper, ты определись, чего ты хочешь.
то, что ты тут привел в пример - это не МУСОР.
А АДРЕС страницы.
ТОЧНО отражающий содержание страницы.
Написано - id=0092783, и покажет тебе запись с id=0092783
А если этого не будет - какую запись показывать?
Позвал тебя друг в гости, а адрес сказал без мусора - номера дома и квартиры.
Только город и улица.
Здорово, правда? А удобно-то как!
Куда-то ты не туда растешь.
-
сесси, но это не очень удобно..
-
gizmo, ты не забыл первоначальную задачу?
А что делает механизм сессий, когда у клиента отключены куки?
-
да с куками не у всех хорошо, а так на сессия просто можно вполне прекрасно сдлать это все.. и будет просто допустим index.php..
-
то есть, ты считаешь, что если у части пользователей не будет работать навигация - это можно назвать словом "прекрасно"? Ты хорошо подумал?
А когда тебе верить - когда ты пишешь, что это
не очень удобно
или когда что
вполне прекрасно
?
А ты не задумывался, что будет прекрасного, если я поставлю закладку на страницу, потом пойду на обед, а после этого захочу на нее вернуться?
-
Ну не мусор... Параметры это или адрес...
Просто хотелось скрыть их от пользователей, чтобы нельзя было туда вручную ничего вписывать...
я конечно всех вас понимаю: новый год там, головы у всех болят.
НО... Нельзя ли было написать просто: это сделать нельзя или: это делается вот так, но неудобно???
В любом случае, всем спасибо!!!
-
RomikChef Да ладно просто человек не понимает назначения сессий.
gizmo Сессии служат для хранения промежуточной, временной информации недоступной извне. Как можно реализовать при помощи сессии "чистый" УРЛ? Передать скрипту параметры чтобы он занёс их в сессию а потом перекинул на страницу которая будет их выковыривать оттуда и юзать. То есть получается ссылки всё-равно прийдётся писать "грязные" вида http://mysite.ru/session_add_sctipt.php?id=9468&some=param
Да вобще об этом говорить не стоит, это дебилизм.
Sniper, Брось ссылку на сайт, тогда я тебе скажу куда тебе надо расти.
Если хочешь ЧПУ, почитай: http://spectator.ru/technology/php/user_friendly_urls
-
Neter, читай внимательно. ЧПУ тут не при чем.
Sniper
Нельзя ли было написать просто
Нельзя было. потому, что ты не потрудился объяснить - зачем тебе это.
поэтому я и задал тебе наводящие вопросы.
Спасибо, что ты сподобился ответить.
Теперь я могу тебе объяснить, что "убирать мусор":
а) бессмысленно
б) вредно, поскольку ЖУТКО неудобно юзеру.
б) поставленной цели (чтобы не напихали) ты все равно не добьешься.
НЕВОЗМОЖНО запретить человеку что-либо вписывать в своем собственном браузере, на своем собственном компьютере.
Эта простая мысль тебе доступна?
Если да, то переходим к следующей:
От "напихивания" защититься нельзя.
поэтому надо просто проверять все, что тебе приходит от клиента, на правильность. Вот и все.
Вот в какую сторону тебе надо думать. О контроле приходящих переменных.
Я достаточно ясно выразился?
-
1. Передавать все POSTом. Глупо, но мусора не будет.
2. Хранить в сессиях но либо не будет передаваться если откдючены куки, либо появится мусор в лице sid-а.
3. Придумай структуру типа Date=value1;value2;value3... и кодируй перед передачей а потом раскодируй перед использованием и сплить в масив. Тогда в урле будет только это параметр.
Вообще, это не мусор, если то что передаешь тебе нужно. Например если ты через все страницы тягаешь параметр, который никогда не меняется, то это мусор, а тот урл что ты показал, выглядит вполне нормально, и логично.
А что-бы пользователь не мог грохнуть твой скрипт введя туда что нить своё, проверяй все то что идет от клиента сам (Впрочем это уже RomicChef говорил).
-
Diesel
я тебя уже видел на этом форуме с бесполезными высказываниями в старых топиках...
-
"Очишай" урл от всего ненужного с помощю mod_rewrite. будут урлы типа /statya/1 и т.п.
-
Вопрос совсем не PHP\'шный
Реализуется это с помощью фрейма.
А на всех страницах пишешь js перехода на фрейм, если не во фрейме.
Но задача Sniper:
чистота адрессной строки
абсолютна тупая.
Вот задача красота адресной строки имеет смысл....