Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » ASP, Perl, PHP и MySQL

Шифрование url

Обсуждение темы Шифрование url в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Вот так - Ну, если мы знаем - что мы должны получить, то не велика проблема. $a = md5($a); $b = $_POST[url] if($a==$b)......


Закрытая тема
 
Опции темы
Старый 24.01.2009, 20:57   #11
Вот так -
Ну, если мы знаем - что мы должны получить, то не велика проблема.
$a = md5($a);
$b = $_POST[url]
if($a==$b)...
 
Старый 24.01.2009, 20:57
Ссылки
Старый 24.01.2009, 21:17   #12
Цитата:
Сообщение от Nielson Посмотреть сообщение
$b = $_POST[url]
Я так понимаю, любите Вы очень post.. Или думаете одновременно о наскольких вещах, и так написалось..)

Цитата:
Сообщение от Anthony;
ссылка одноразовая и высылается по почте.
Но он тут явно не уместен..)

Цитата:
$a = md5($a);
$b = $_POST[url]
if($a==$b)...
Как же тогда значение $b передать.. чтобы сравнить..

Как по мне, то в данном случае достаточно urlencode()..
 
Старый 25.01.2009, 04:53   #13
MD5 здесь не подойдёт в любом случае, но всё-таки вместо urlencode я бы использовал именно base64_encode().

Хотя бы потому, что иногда URL-кодированная строка при вставке в адресную строку браузера декодируется. Тогда в адресной строке получается бред какой-то.
 
Старый 25.01.2009, 05:11   #14
Нет, подождите. Мне самому интересно стало По-поводу «$_POST» - да. Обшибся.

Итак. Что мы имеем. Имеем мы урл, который отправляем по почте и который должен содержать некоторую информацию.
Информация заранее нами известна.

1. Мы имеем переменную $a с нужной нам информацией, а так же, переменную $b, являющуюся хэшем переменной $a.
2. Мы отправляем ссылку на почту с урлом вида url.php?43f313f13f31f11g331gdsdxcv, где 43f313f13f31f11g331gdsdxcv - зашифрованные с помощью md5 данные из переменной $a (то есть, по-сути, $b).
3. На сервер приходит пользователь с _GET-запросом, содержащим хэш. Мы производим сравнение по хэшам и ищем соответствие. Далее мы просто находим связь между $b и $a.

Хуйня полная, но ведь работать-то будет?
 
Старый 25.01.2009, 11:45   #15
Цитата:
Сообщение от Nielson Посмотреть сообщение
Итак. Что мы имеем. Имеем мы урл, который отправляем по почте и который должен содержать некоторую информацию.
Информация заранее нами известна.

1. Мы имеем переменную $a с нужной нам информацией, а так же, переменную $b, являющуюся хэшем переменной $a.
переменные никак не связаны. в a хранится одно,в b другое.

2. Мы отправляем ссылку на почту с урлом вида url.php?43f313f13f31f11g331gdsdxcv, где 43f313f13f31f11g331gdsdxcv - зашифрованные с помощью md5 данные из переменной $a (то есть, по-сути, $b).

3. На сервер приходит пользователь с _GET-запросом, содержащим хэш. Мы производим сравнение по хэшам и ищем соответствие. Далее мы просто находим связь между $b и $a.

Хуйня полная, но ведь работать-то будет?
Эту хрень легко подобрать...все го лишь надо $a в MD5 перевести и подставить вместо b. Вот и ссылка откроется. Кстати MD5 - очень ненадежно. Если например знать что в нашем случае число передается, то очень не трудно написать цикл, который бы сравнивал хешированное число и текущее числом в цикле. (хотя можно усложнить жизнь хакерам - доабавить какой-нибудь символ к числу, а при разборе урла парсить переданный параметр)

Поэтому я и хочу что-то хитрое использовать, потому как лишние переходы по ссылке с неправильными данными очень не нужны.

Еще про base64_encode: кодирую уже ранее зашифрованное трехзначное число. Потом при переходе по ссылке делаю декод и расшифровку - получаю духзначное число. Вот такая вот хрень.
С urlencode такого не происходит. Очень странно на самом деле.
 
Старый 25.01.2009, 16:59   #16
Anthony, вы меня не поняли. $a хранится только на том сервере, где происходит сравнение? Как его узнает сторонний человек?
MD5 - ненадежный??? Это единственный алгоритм шифрования, взламываемый либо путем подбора либо путем коллизии (тот же подбор). А вот выцепить строку и сделать base64_encode - мозгов много не нужно.
 
Старый 25.01.2009, 17:20   #17
Nielson, действительно хороший вариант..) Извиняюсь..)

Anthony, поставьте перед собой четкую задачу и решите. Все просто. Или четко опишите на форуме..

А то так можно вечно гадать..
 
Старый 25.01.2009, 18:32   #18
Nielson, далеко не единственный.
 
Старый 25.01.2009, 19:14   #19
На самом деле все уже работает как мне нужно.
Задача состояла в том, что когда мы принимаем параметр в GET, то мы должны вытащить это число из базы, где сотни записей, а в дальнейшем база расти будет в геометрической прогрессии.

Через MD5 можно было б передавать, но:
1) нам надо было б сначала весь результат запроса по таблице вытащить в массив несколько сот записей и прогнать этот массив на совпадения с MD5 через isset. Не самый хороший вариант, согласитесь.

2) Согласен с Nielson. MD5 лучше чем urlencode и ему подобные. Однако ж мы можем перевести любое число в MD5 и пробовать подставлять в url. Да и вообще можно робота создать.

3) Как вывод из выше сказанного остается только encrypt с разными видами шифрования. Закодированное число с помощью него не так уж и просто подобрать, потому как взломщик не знает какой метод шифрования используется.

Ну и конечно же благодарю всех за советы

Последний раз редактировалось Anthony; 25.01.2009 в 19:18..
 
Старый 26.01.2009, 09:11   #20
Просто интересно:
Цитата:
Сообщение от Anthony Посмотреть сообщение
а в дальнейшем база расти будет в геометрической прогрессии.
Это преувеличение?
 
Старый 26.01.2009, 09:11
Закрытая тема




Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шифрование SYSTEMS ASP, Perl, PHP и MySQL 11 26.02.2007 19:02
Шифрование Java- и VB-скриптов Maxim Kabakov Кальянная 1 28.07.2005 23:14


Текущее время: 02:16. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум