LINUX.ORG.RU

Целостность POST-запроса


0

0

Ситуация такая -- клиент через с помощью пост-запроса отсылает на сайт архиважные данные. Нужно гарантировать то, что они дойдут в целости и сохранности. Насколько я понимаю, протокол HTTP не имеет никаких механизмов такой проверки. Есть идея присылать дополнительно хеш параметров. Есть ли менее гемморройные способы?

хм, если работает с браузером, то проверить наверно можно будет каким-нить JS токо и то, если запрос был сохранен скажем в кукисах ...

phasma ★☆
()
Ответ на: комментарий от phasma

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

Нужно что-то вроде транзакции в базах данных. Либо происходит полностью, либо вообще не происходит.

rab_boziy
() автор топика
Ответ на: комментарий от anonymous

а что у TCP пакета тоже нет контрольной суммы?

anonymous
()
Ответ на: комментарий от rab_boziy

ну тогда делай хэш и посылай с хэшом хэша запроса ...

phasma ★☆
()

HTTP обычно реализуется поверх TCP, а последний гарантирует целостность данных. Если совсем паранойя замучила, CRC32 можно попробовать посчитать жаваскриптом (если конечно это не файл аплоадится).

Legioner ★★★★★
()

HTTP + TCP гарантинует 100% целосность данных

если не верите - почитайте как работает TCP и HTTP

anonymous
()
Ответ на: комментарий от barbuza

Да я сам знаю и понимаю почему, а вот начальник рфц читать вряд ли будет. :(

rab_boziy
() автор топика
Ответ на: комментарий от roller

> Подмена пакета там например :)

такую штуку можно было провернуть в далеких 80х. сейчас даже у чайников утюгов и пылесосов TCP реализован так что хрен подменишь. (насчет того нормально ли реализован TCP в винде - не уверен) если уж совсем-совсем замучала параноя (или сервер работает на винде) можете юзать https. SSL дает 250% гарантию целостности данных

anonymous
()
Ответ на: комментарий от rab_boziy

http://bugtraq.ru/library/books/attack/chapter04/05.html

вот тебе ссылка, что просто TCP + HTTP недостаточно.

плюс: HTTP -- протокол без сохранения состояния, то есть сессии в нём надо реализовывать дополнительными заголовоками или куками. То есть, их можно подменить. Что было бы сложно сделать, если бы session id нигде не присутствовал на в протоколе/на клиент, а был бы только на стороне сервера.

плюс: SSL тебе даст цифровые сертификаты - подписи транзакции.

anonymous
()
Ответ на: комментарий от roller

> Не гарантирует. Подмена пакета там например :)

так, не надо сравнивать мягкое с теплым. тут говорилось о целостности POST запроса (контр.сумма, например в tcp), а не о том каким способами его подменить можно (аутентификация+авторизация).

если надо и то и то, используйте SSL как уже говорилось.

anonymous
()
Ответ на: комментарий от polachok

> ты б еще предложил патчкорд топором перерубить

Эффект бабушки (уборщицы) тоже никто не отменял.

anonymous
()
Ответ на: комментарий от phasma

а спецификацию tcp/ip и http мы конечно же не осилили... или на гугле забанили?

anonymous
()
Ответ на: комментарий от anonymous

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

насчет SSL было сразу сказано что если мучает параноя - юзайте SSL

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.