Прежде чем задать вопрос, я признаю, что этот метод неудобно обескуражен и не защищен. Я знаю, что для достижения этого - через SSL.Надежно отправьте форму, используя JavaScript/PHP
Тем не менее, я разрабатываю приложения HTML5 (и кажется, что внедрение SSL-подхода потребует много времени), и я хотел бы знать, как лучше всего использовать POST-контент формы.
т.е. я следующий вид
<form id="someform" name="someform" method="POST" action="some/server/url">
Путь эта форма представляется (в настоящее время) использует Ajax $ ("# someform) .serialize() и так далее ..
С помощью этого реализация я столкнулся с (по крайней мере) этих 2 насущными проблемами:.
- пользователя может использовать инструменты (т.е. TamperData | Firefox, аддоны) для изменения размещено содержания (Перехват-и-модификация)
- Пользователь может фальсифицировать данные, отправив «fake'submission (Ковка)
мне интересно, если есть каким-то образом я мог бы по крайней мере (запутать POST-е изд) значение.
Я столкнулся с этим отличным инструментом http://www.jcryption.org/, но не знаю, как его реализовать, чтобы решить проблему, с которой я столкнулся.
ps: again Я знаю, что использование сценария на стороне клиента менее безопасно по сравнению с обработкой всего выполнения с сервера.
рамки + язык я использую: CodeIgniter + PHP + JavaScript (JQuery)
первая поправка:
Я уверен, что есть по крайней мере, работа вокруг с помощью этой теории
Во-первых, меня не слишком беспокоит конфиденциальность моих данных, то есть значение POST-ed не даст никакой ценной информации, даже если кто-то еще знает, что это такое.
Что касается меня, то это целостность и достоверность POST-значения. Это просто означает, что никто другой не должен нарушать информацию после ее передачи (после нажатия кнопки отправки), и никто не может подделывать или создавать поддельное значение (подделка сервера).
Эта теория приводит к цифровой подписи, где (опять же в теории) я должен каким-то образом подписать POST-значение с использованием PUB-ключа сервера, затем передать значение POST-ed с помощью PUB-ключа сервера и, наконец, отправить оба оригинальное значение POST-ed вместе с хешированным значением.
Перед отправкой POST-значного значения клиент ДОЛЖЕН запрашивать ключ PUB сервера, поэтому клиент может хэш-значение POST-ed. Возможно, сервер сохранил информацию PUB-ключа вместе с информацией SESSION.
Затем серверу придется (снова) хеш (на этот раз с PRI-ключом сервера) исходное POST-значение (отправленное клиентом) и сравнить два хешированных значения. Если это значение одно и то же, это просто означает, что оно является подлинным.
Теперь часть, которую я еще не понял, это КАК .....
Есть ли какие-либо инструменты/рамки/плагины/учебник/пример о том, как это сделать? так как это было бы слишком для меня (не говоря уже о ограниченном количестве времени, которое у меня есть) для разработки всей инфраструктуры с открытым ключом с нуля.
@Your_Common_Sense, даже с сессией "заверенный" пользователь может фальсифицировать данные. Кроме того, как я должен проверить свой ввод? – Jeremy
Нет, они не могут вмешиваться в данные сеанса. В этом и заключается суть механизма, поскольку данные сеанса хранятся на стороне сервера. Проверьте свой вход обычным способом. –
Если я должен быть жестоко честен с вами, я все равно не уверен, могу ли я следовать вашему предложению. Как я могу проверить ввод пользователя (смотря с технической точки зрения)? – Jeremy