Зашифровать и расшифровать строку (без mcrypt)

CCCP_MOCKBA

Новичок
я вообще не могу понять, зачем передавать имя пользователя в урле? естно если урл повторить то и данные на сайте повторятся, как его ни шифруй ;)
что преследуется ? авторизация на одном сайте, а работа со скриптом на другом ?
 

chisto_tolyan

Враг народа
тут видимо речь идет не от том чтоб злой хацкер подглядел урл и повторил его, а чтоб он его не подобрал)
т.е. есть какой-то Вася, у него ссылка site.com?login=v1a1s1y1a1
а есть мега-админ(site.com?login=a1d1m1in1), и вот нужно чтоб Вася не подставил сместо своего имени имя админа и не завладел ценной информацией?Так?
 

chisto_tolyan

Враг народа
А что случится, если злоумышленник перехватит зашифрованную строку?
а эт уже не наши проблемы, задача у автора - зашифровать строку, о том что ее можно перехватить он видимо и не догадывается)
 

зверек

Новичок
basboy

На сайте 2 вообще нет базы юзеров. На сайте 2 нет регистрации юзеров.

Понимаете в чем дело. Существует сайт 1. Он был сделан давно. Зарегистрированных юзеров уже больше двух тысяч человек. Сайт 1 делали двое: Главный и Помощник.
Сайт 2 изначально планировался как один из разделов сайта 1. Но Главный и Помощник разругались вдрызг. Главный лишил Помощника доступа к файлам сайта. А делать раздел самостоятельно отказался. Но сказал Помощнику: регистрируй собственный хостинг, делай на нем раздел, делай такой же дизайн как на сайте 1 и я сошлюсь на твой сайт из главного меню. Он как бы будет разделом сайта 1, но разделом, находящемся на другом хостинге. Помощник спросил: "А как же база юзеров?" И Главный ответил: "юзера я передам вместе с сылкой на твой сайт".
Вот такая романтическая история :)
Помощник - это я и есть.
И мне теперь надо чтобы человек, зарегистрированный на сайте 1, приходя на сайт 2 и оставляя там некую информацию, отражался как юзер, зарегистрированный на сайте 1.
Но поскольку юзеры делятся на админов и не админов, то строку с ником надо шифровать на сайте 1 и расшифровывать на сайте 2.


chisto_tolyan

"т.е. есть какой-то Вася, у него ссылка site.com?login=v1a1s1y1a1
а есть мега-админ(site.com?login=a1d1m1in1), и вот нужно чтоб Вася не подставил сместо своего имени имя админа и не завладел ценной информацией?Так?
"

Абсолютно верно!
 

зверек

Новичок
chisto_tolyan

Он закодирует, разумеется. Но мне, чтобы понять что за юзер пришел и какакие ему права дать - надо раскодировать же это как-то!
И потом, поскольку в существовании раздела в первую очередь я заинтересована, то мне и придумывать всякие механизмы.
 

crocodile2u

http://vbolshov.org.ru
зверек
Две тысячи полльзователей - это не так уж и мало. Я бы на твоем месте озаботился все же и возможностью перехвата (тем более, что в твоем случае перехват может быть сведен к подсмотрению gпараметра URL). Впрочем, твой сайт - тебе и решать. Я бы, наверное, передавал имя пользователя открыто, но авторизацию на втором сайте проверял отдельно.
 

svetasmirnova

маленький монстрик
зверек
Неправильный алгоритм. Надо на сайте 2 запросить аутентификацию юзера, после чего запросить у сайта 1 подтверждение. А логины-пароли в адресной строке передавать: баловство.

-~{}~ 10.10.05 17:13:

Как это сделать? Да хоть curl + POST. На сайте 1 пользователь же авторизуется при помощи обычной формы.
 

chisto_tolyan

Враг народа
ну,если mcrypt'a нет - надо свой шифровальщик писать...а вообще плохая это затея логин в урле передавать...
 

зверек

Новичок
crocodile2u

Похоже про перехват я вообще ничего не знаю..Потому что как только речь заходит об этом я просто не въезжаю..Все-таки я еще чайник..Вы бы поподробнее рассказали (если не лень конечно), что имеется в виду под перехватом и какие тут опасности?

svetasmirnova

То есть если юзер хочет добавить некую информацию на сайт 2, ему предлагается ввести логин и пароль. Эта связка отправляется на сайт 1 и там проверяется "на вшивость".. Если все совпадает, то юзер как бы авторизуется на сайте 2 и добавляет инфу от своего имени.
Данные формы с логином и паролем отправить на сайт 1 не проблема, а вот как с сайта 1 получить подверждение что все ОК или не ОК? Что то я пока не соображу.
 

basboy

Новичок
svetasmirnova
Очевидно, что аутендификация на сайте 2 не подойдёт, так как он по сути раздел 1-го сайта. По-видимому пользователь должен авторизовавшись на 1-м, должен иметь сразуже доступ ко 2-му.
 

kvf77

Red Devil
зверек
технология такова:
пользователь авторизуется на любом из 2-х сайтов, внутри твой скрипт может обменяться с другим сервером авторизационными данными через CURL
 

chisto_tolyan

Враг народа
зверек
перехват, это когда плохие парни разными плохими програмками (сниферам) следят за пакетами(передачей данных между клиентом-сервером) приличных людей, и выдирают оттуда полезную им информацию.
 

зверек

Новичок
basboy

Это конечно в идеале. На самом деле, специфика сайта 2 такова, что информация туда добавляется во первых не часто, во вторых эта информация такого рода, что ею обладают очень немногие. То есть в принципе ничего страшного в том, если у юзера пожелавшего что-то добавить запросят авторизацию.
 

svetasmirnova

маленький монстрик
Данные формы с логином и паролем отправить на сайт 1 не проблема, а вот как с сайта 1 получить подверждение что все ОК или не ОК? Что то я пока не соображу.
Также как и браузер. См. [m]curl[/m], например. А ещё лучше договориться, чтобы "Главный" по *вашему* запросу присылал не html, который выводится обычному пользователю, а текст в специальном формате. Например, xml:
PHP:
<user>Vasya</user>
<role>admin</role>
...
 

basboy

Новичок
зверек
Вообще задача сложная, имеет много подводных камней.

Сейчас я вижу только одно решение.
Не надо кодировать имя и пароль юзера. Пусть оно будет в урле. Т.к. пользователь всё равно работает сам то ему это не помешат, и его пароль и логи будут светиться разве што ему самому в браузере.
А вот на сайте 1 должна быть фу-ня, которая будет по переданному значению логина и пароля возвращать, админ это или нет.
К этой функции можно обращиться как раз через CURL.
 

chisto_tolyan

Враг народа
а еще лучше купить "Главному" х-бутылок пива, и выпросить обратно доступ к сайт1 8)
 

svetasmirnova

маленький монстрик
basboy
Не вижу разницы по сложности реализации между твоим способом и моим. Только мой чуток безопасней.
 
Сверху