Зашифровать строку

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
Ответить
herotic
Сообщения: 33
Зарегистрирован: 25 май 2010, 23:36

Зашифровать строку

Сообщение herotic »

У меня есть приложение для вконтакте. Проблема в том, что есть важная переменная (строковый тип), которая передается на другой сервер и записывается в базу. Так вот, эту переменную можно поменять используя изменение http запроса, кто может подсказать или показать толковый способ защиты от подмены http запроса? Может использовать способ зашифровать переменную во флеше и расшировать в php?
Noise Gate
Сообщения: 691
Зарегистрирован: 28 апр 2010, 12:34

Re: Зашифровать строку

Сообщение Noise Gate »

http://flapps.ru/forum/topic861.html
но с кириллицей работать не будет
hideki-kun
Сообщения: 35
Зарегистрирован: 01 сен 2011, 14:03

Re: Зашифровать строку

Сообщение hideki-kun »

2Noise Gate
[censored] так сложно?

2herotic
Всё гениальное просто. По мд5 криптуешь несколько параметров например: свой секретный ключ + тот самый параметр который нужно закриптовать + рандомное число. и передаёшь в таком виде скрипту. допустим:
ХАТЕТАПЭ://[censored].ru/score.php?param1=XXXXXX&param2=YYYYYY&param3=Math.random()&hash=MD5Hash

на серверной стороне делаешь проверку:
checkParam = param1+param2+param3
if (hash == md5(checkParam)
{
//Понеслась строка по битам.
}
самый простой способ.
секретный ключ можешь генерировать допустим по дате+час+целочисленная переменная(мин\30). в итоге 1 ключ будет действителен 30 мин.
и душе приятно, что сам написал, и не нужно использовать [censored] умные алгоритмы криптования.
Последний раз редактировалось psix55 10 сен 2011, 14:25, всего редактировалось 2 раза.
Причина: Ненормативная лексика.
hideki-kun
Сообщения: 35
Зарегистрирован: 01 сен 2011, 14:03

Re: Зашифровать строку

Сообщение hideki-kun »

и если на каждого пользователя нужен уникальный ключ - добавь в генерацию какой нибудь айдишник юзверя и каждый будет иметь свой мего ключ.
Noise Gate
Сообщения: 691
Зарегистрирован: 28 апр 2010, 12:34

Re: Зашифровать строку

Сообщение Noise Gate »

hideki-kun,
опыт показал, что надо именно шифровать, а не подписывать запросы. и это еще не сложно - довольно большой процент "целеустремленных злоумышленников" ;) справляется и с этим.

А твоя идея с ключем, сгенерированным из времени, в принципе, верна, но работать будет плохо, т.к. на границе действия ключа все запросы будут отваливаться. Такое я тоже уже проходил - у меня ключ действовал час, и то я получал кучу жалоб на то, что "что-то не так работает" или "очки иногда не начисляются".
hideki-kun
Сообщения: 35
Зарегистрирован: 01 сен 2011, 14:03

Re: Зашифровать строку

Сообщение hideki-kun »

2Noise Gate, всмысле отваливаться? Имеешь ввиду когда ключ поменялся, а юзверь шлёт какраз в это время запрос? Синхронизируй время с сервером и сделай подтверждение аля tcp\ip протокол. Пришёл пакет - отправил подтверждение о приёме, отправил следующий. Если же нет ответа - переслал N раз опять пакет и если ответа нет сворачивай лавочку. Я имею ввиду если какая то ошибка - сделай вывод сгенерированного сообщения и в случае проблем - пусть отсылают тебе. А это сообщение будет появляться только в случае проблемы с ключём. Так же можешь сделать хитрее систему сложить 2 хеша. тогда большенство кулхацкеров отпадут.

В общем дай волю фантазии, ведь программист подобен богу, только ограничен он N-дюймовым окошком в свой "мир".
Ответить