Страница 1 из 1

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

Добавлено: 08 сен 2011, 02:23
herotic
У меня есть приложение для вконтакте. Проблема в том, что есть важная переменная (строковый тип), которая передается на другой сервер и записывается в базу. Так вот, эту переменную можно поменять используя изменение http запроса, кто может подсказать или показать толковый способ защиты от подмены http запроса? Может использовать способ зашифровать переменную во флеше и расшировать в php?

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

Добавлено: 08 сен 2011, 18:49
Noise Gate
http://flapps.ru/forum/topic861.html
но с кириллицей работать не будет

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

Добавлено: 10 сен 2011, 00:39
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] умные алгоритмы криптования.

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

Добавлено: 10 сен 2011, 00:41
hideki-kun
и если на каждого пользователя нужен уникальный ключ - добавь в генерацию какой нибудь айдишник юзверя и каждый будет иметь свой мего ключ.

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

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

А твоя идея с ключем, сгенерированным из времени, в принципе, верна, но работать будет плохо, т.к. на границе действия ключа все запросы будут отваливаться. Такое я тоже уже проходил - у меня ключ действовал час, и то я получал кучу жалоб на то, что "что-то не так работает" или "очки иногда не начисляются".

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

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

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