Павел
Интересующийся
Offline
|
|
« : 18-12-2010 12:18 » |
|
Здравствуйте! Подскажите, если не трудно, как в Java-Script осуществить такую операцию: в текстовое поле будет вводиться код - при нажатии на кнопку этот код будет сравниваться с начальным (реальным), так если я реальный код пропишу в HTML-коде, его все будут видеть. Я так думаю, его надо записывать в каком-то текстовом документе, а потом его от туда считывать. Помогите, пожалуйста!!!
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #1 : 18-12-2010 12:34 » |
|
самый безопасный способ - отправлять введенный пароль через ajax
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Павел
Интересующийся
Offline
|
|
« Ответ #2 : 18-12-2010 13:24 » |
|
А если я подгружу код Java-Script из файла типа file.js, посетители сайта смогут прочитать этот файл?
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #3 : 18-12-2010 13:26 » |
|
Павел, все, что можно загрузить в браузер - все это можно прочитать.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Павел
Интересующийся
Offline
|
|
« Ответ #4 : 18-12-2010 13:32 » |
|
Спасибо! Мне подсказали (см. выше), что самый безопасный способ - отправлять введенный пароль через ajax. Подскажите, пожалуйста, как это осуществить, если не трудно!
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #5 : 18-12-2010 13:42 » |
|
совсем не трудно, но для этого нужно ознакомиться с теорией. http://dklab.ru/lib/JsHttpRequest/ - и теория и практика Кроме того js фреймворки используют ajax методы (jquery, mootools etc)
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Павел
Интересующийся
Offline
|
|
« Ответ #6 : 18-12-2010 13:49 » |
|
То есть можно осуществить это и в Java-Script?
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #7 : 18-12-2010 13:56 » |
|
так отправка с помощью ajax и есть js.
Вот что еще вспомнилось
есть библиотека js, что-то типа md5.js (не помню, помню только что видел применение) Идея в том, что Истинное значение кодируется на сервере, отсылается я в браузер вместе с контентом. Браузер кодирует ответ (содержимое введенное пользователем) и сравнивает с с полученным от сервера.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Павел
Интересующийся
Offline
|
|
« Ответ #8 : 18-12-2010 14:14 » |
|
Если не сложно, напишите, пожалуйста, хотя бы примерный код, как это осуществить! Не могу найти в книгах!
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #9 : 18-12-2010 14:33 » |
|
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Serg79
|
|
« Ответ #10 : 18-12-2010 16:38 » |
|
самый безопасный способ - отправлять введенный пароль через ajax
Ну что это. Вполне можно хранить пароль и в самом javaScript (HTML). Только хранить его не в открытом виде, а в виде его хеш-суммы. Для больше надежности можно использовать md5, для параноиков подойдет sha-512...
|
|
|
Записан
|
|
|
|
poyt
Гость
|
|
« Ответ #11 : 05-02-2011 18:27 » |
|
Ну что это. Вполне можно хранить пароль и в самом javaScript (HTML). Только хранить его не в открытом виде, а в виде его хеш-суммы. Для больше надежности можно использовать md5, для параноиков подойдет sha-512... Такой вариант может подойти для простого сайта, для крупного проекта такое лучше не использовать, а "зашивать" в куки, и лучше, чтобы кроме md5(пароля) был что-то вроде md5(пароль + соль), где соль - случайно сгенерированная строка.
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #12 : 05-02-2011 18:41 » |
|
poyt, не вижу разницы между cookies и кодом JavaScript - и то, и то хранится на клиентской машине в открытом виде.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
zubr
Гость
|
|
« Ответ #13 : 05-02-2011 19:24 » |
|
Dimka, можно хранить пароль в куках в зашифрованном виде. Серверный скрипт, получив зашифрованный пароль из куки, расшифровав его и сравнив с паролем, который ввел пользователь, определяет правильность пароля. Это все имеет смысл, если пароли не хранятся на сервере.
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #14 : 05-02-2011 22:08 » |
|
zubr, не понимаю, кто мешает злоумышленнику послать соответствующие cookies. Это то же самое, что хранить зашифрованный пароль прямо в JavaScript (и тоже обрабатывать на сервере, если так хочется).
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
zubr
Гость
|
|
« Ответ #15 : 06-02-2011 01:23 » |
|
zubr, не понимаю, кто мешает злоумышленнику послать соответствующие cookies. Это то же самое, что хранить зашифрованный пароль прямо в JavaScript (и тоже обрабатывать на сервере, если так хочется).
Алгоритм можно реализовать следующим образом. К примеру у нас сайт без поддержки БД, а пользователь должен получить доступ к какому то контенту, индентифицируя себя. При регистрации, пользователь вводит пароль, серверный скрипт, получив пароль, шифрует его и сохраняет его у пользователя в зашифрованном виде в куках. При каждом последующем посещении сайта, пользователь должен в поле ввода формы ввести пароль (незашифрованный) - в результате серверный скрипт получает зашифрованный и незашифрованный пароль, расшифровывает зашифрованный пароль, полученный из куки и сравнивает пароли, они должны совпасть, в случае совпадения паролей, скрипт выдает нужный контент. Что даст злоумышленнику наличие в куках зашифрованного пароля? Ведь, чтобы серверный скрипт выдал ему нужный контент, ему еще надо на сервер в виде параметра формы послать незашифрованный пароль, которого он не знает, а также не знает алгоритм шифрования, применяемый на сервере.
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #16 : 08-02-2011 14:03 » |
|
Еще такое возможно: 1. После авторизации сервер генерит некоторый случайный идентификатор (типа одноразового пароля), шифрует чем-то своим и отдает клиенту в куки, а также дает ему идентификатор сессии, по которому клиент авторизуется в течении сессии. 2. Сессия закончилась. Пользователь при очередном запросе отдает куки, сервер расшифровывает его, сверяет пароль и либо отвергает его и требует пароля, либо принимает и переходим к п.1.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
|