шифрование

zeltais

Новичок
шифрование

есть сайты www.default.lv www.geolog.lv и др...
на них все ссылки идут по типу
http://www.default.lv/?i=U1hFXldRU1hRXldRU1hFWVdRU1hRXldUU1hFXldRU1s

http://www.default.lv/?i=U1hFXldRU1hRXldRU1hFXQ

даже если юзер не регистрируется на страничке а просто ходит по ней .
что это за ссылки ? кодирование параметров ? сессия ? или что то другое ? как это можно реализовать и зачем это нужно ?
заранее спасибо
 

HEm

Сетевой бобер
скорее всего сессия
а если все с обрыва прыгнут, ты тоже захочешь попробовать? ;)
 

zeltais

Новичок
не похоже на сессию так как ссылки в некоторых местах идут по 5 символов такого вот набора букв-цифр . а есть ссылочки по 20-25 символов ...
 

Кром

Новичок
Это естественно не сессия php, так как идентификатор сессии состоит из 32 символов. Естественно это не хеш, потому что последовательность символов повторяется.

Видимо это закодированное указание на страницу + параметры.
Реализуется это также как и работа с любыми параметрами.

if ('U1hFXldRU1hRXldR' == $_GET['i']) бла бла бла...

Нужно это судя по всему с целью создания ложного ощущения безопасности :)
 

zeltais

Новичок
и что на каждую страничку тогда писать if ('U1hFXldRU1hRXldR' == $_GET['i']) -> ...



???
зачем это надо ? бессмысленно ...
 

Кром

Новичок
Я привел пример в лоб, так естественно писать не надо.
Сначал такой параметр необходимо трансформировать в нормальный вид, а уже потом работать с ним.
 

Rezec

По пиву? (socket80)
Автор оригинала: zeltais
как это реализуется ?
Примерно так
PHP:
<a href="?i=<?my_url_encrypter('action=blabla');?>">Bla bla</a>
...
$string = my_url_decrypter($_GET['i']);
... дальше идут манипуляции с $string
Полезные ссылки:
explode
mcrypt
 

Кром

Новичок
>как это реализуется ?

Сначала смотрим что тут к чему.
Берем параметр:
U1hFXldRU1hRXldRU1hFWldRU1hRXldRU1hFXldRU1hRXldRU1hFXw

Разбиваем его на блоки:
U1hFXldR
U1hRXldR
U1hFWldR
U1hRXldR
U1hFXldR
U1hRXldR
U1hFXw

Как видим блоки состоят из 8 символов и они периодически совпадают. Причем первые (U1) и последие (dR) два символа повторяются. Значит можно уже сказать что такой блок можно заменить буквой или цифрой.
В конце строки присутствует блок нефиксированной длины, который можно разбить на составляющие по 2 символа. И первую составляющую (U1) можно видимо не учитывать.

Ну а дальше используя if или str_replace() преобразовывать к нормальному виду.
 

zeltais

Новичок
точно ! это идея хорошая ... разберёмся с ней %)
Спасибо огромное !
 

Кром

Новичок
>Например, избавиться от проверки всех ГЕТ параметров

Это никак не избавляет от проверки параметров. Никаким боком. :)
 

HEm

Сетевой бобер
Автор оригинала: Кром
>Например, избавиться от проверки всех ГЕТ параметров

Это никак не избавляет от проверки параметров. Никаким боком. :)
Я бы сказал что осложняет разработку сайта
ну и добавляет умственного труда хакерам
 

Rezec

По пиву? (socket80)
Не так выразился.
Невозможно подделать урл. А ГЕТ параметр в данном случае как бы только один.
Разработка усложняется не намного, в темплэйтах вызов лишней функции появляется. Тем более если проект пишется целый год http://www.geolog.lv/?i=U1hFXldRU1hRXldRU1hFXw :)
 
Сверху