![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| quiz |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 15.8.2005 Репутация: нет Всего: нет |
Здравствуйте.
Озадачился на днях таким вопросом - реально ли передать результат выполнения javascript'а серверу так, чтобы его при этом нельзя было подменить (хотя бы самыми простыми методами). То есть, например, имеется яваскрипт, который считает сколько раз пользователь успел нажать на кнопку в течение 3х секунд, а в конце "теста" скрипт передает серверу результат в виде result.php?num=123 Можно ли защититься от прямой передачи результата юзером вручную, типа result.php?num=9999? Это сообщение отредактировал(а) quiz - 21.4.2007, 05:51 |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Если через SSL (https) отправлять, то добрую половину чайников это точно остановит. Можно только усложнить процесс передачи данных, но защитится от "подмены" нельзя.
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
а если использовать POST-метод и HTTP_REFERER?
|
|||
|
||||
| Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: нет Всего: 39 |
Не все так плохо, на самом деле при передачи данных по протоколу SSL обеспечивается их имитозащита (Выработка MAC`ов). Так, что факт подмены|искажения данных будет установлен. PS. Кроме того, часто используются связки JavaScript`ов с JavaApplet`ами, при этом апплеты выполняют функции по шифрованию, выработке ЭЦП. |
|||
|
||||
| quiz |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 15.8.2005 Репутация: нет Всего: нет |
Извиняюсь, наверное надо было постить тему в раздел "для новичков".
Покажите примеры, пожалуйста, как отправить по SSL и проверить факт подмены в php скрипте, |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
На до что бы хостер поддерживал SSL. Всё то же самое, только в урлах https (http через SSL тунель). Если денег не жалко, то можно положить свой сертификат у какой нибудь trusted фирмы, например verisign. Тогда бродилка не будет пользователя просит подтвердить доверие к сертификату. Собственно задача такой фирмы сказать что ты это точно ты.
Если интересно как всё устроено, то читать о асимметричном кодировании. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
я читал) в Wikipedia статью SSL. ниче не понял
точнее - что такое сертификат и как им пользоваться.. судя по твоему посту он необязателен? и все что нужно для SSL соединения - писать https:// вместо http://, если это включено на хостинге? |
|||
|
||||
| Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: нет Всего: 39 |
Сертификат - это файл, который удостоверяет, что определенный открытый ключ принадлежит определенному человеку или организации. Не вдаваясь в подробности, это просто открытый ключ и данные о владельце, подписанные другим - "доверенным" лицом. Есть два режима, в одном сертификат имеет только сервер - т.е. клиент обращающийся к серверу - будет уверен, что сервер именно тот, который нужен. При этом, клиент для сервера остается не авторизованным. Во втором режиме, клиент также имеет сертификат - и в этом случае сервер также уверен с кем он "общается". Чаще всего на интернет страницах используется первый вариант, который позволяет любому пользователю сети передавать какие-либо конфиденциальные данные по организованному защищенному каналу. Соответственно, и в данном случае насчет сертификатов заморачиваться не надо. Надо всего лишь прикрутить SSL к вашему web-серверу (при это надо будет сгенерировать ключики, создать сертификаты, по этой теме есть довольно много манов, проблем быть не должно). Об этом вам задумываться не стоит, за вас это сделает сервер, для вашего php-скрипта, впрочем, как и для java-скрипта - работа через SSL будет "прозрачна". Это сообщение отредактировал(а) Alexandr87 - 23.4.2007, 20:14 |
|||
|
||||
| Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Бродилка будет требовать подтверждения сертификата с сервера если за него никто trusted не отпишется, а это стоит денег. Но оно не страшно, средний пользователь без страха жмёт "да" на любые окна
С клиентской стороны да. Бродилка просто будет SSL тунель открывать перед запросом. Для серверных скриптов вообще ничего на прямую не заметно. Также бродилка в таком режиме будет отсылать куки с флагом secure, которые без защищённого канала не отсылаются. Удобно для разного рода ключей сессий. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |