Как мне сделать авторизацию пользователя самым безопасным способом - PullRequest
3 голосов
/ 12 июня 2010

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

Я создал свой проект на PHP с codeigniterи нашел библиотеку ( Tank Auth ), которая могла бы обрабатывать авторизацию для меня.Он хранит пароль безопасным способом, но я все еще беспокоюсь о той части, когда пользователь отправляет свой пароль на мой сервер.

Один простой способ сделать это - отправить пароль в пост-запросе, ноЯ полагаю, что подобрать такой пароль довольно просто.Должен ли я что-то сделать с паролем на стороне клиента перед отправкой на мой сервер?И есть ли для этого хорошие библиотеки javascript?

Ответы [ 4 ]

2 голосов
/ 13 июня 2010

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

Дэвид Уотевер упомянул хеширование - здесь подробно обсуждается процесс здесь

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

HTH

C.

1 голос
/ 12 июня 2010

Вы говорите, что SSL слишком дорог для вас, но большинство хостов предлагают его бесплатно.Дорогостоящая часть - это получение частного IP-адреса и официального сертификата.

Однако вы можете создать свой собственный сертификат, который будет означать, что все данные по-прежнему передаются в защищенном режиме, просто ваша личность не может быть гарантирована.Как упоминал Дэвид Вулевер, MITM-атаки гораздо сложнее;и в любом случае, вероятно, это не относится к хобби.

Как только (если) ваш сайт превратится из хобби, тогда вы сможете инвестировать в гарантированный сертификат.

1 голос
/ 12 июня 2010

Вы можете обойти с помощью хэширования на стороне клиента, но в целом POST ввод учетных данных через безопасное (HTTPS) соединение считается достаточным.

Это все еще оставляет возможность атак MITM ... Но выполнение атаки MITMв SSL-соединении не совсем тривиально, так что, вероятно, это не тот вектор атаки, о котором вам нужно слишком беспокоиться.

0 голосов
/ 12 июня 2010

Аутентификация через SSL, вероятно, самый простой и безопасный способ.

Если вы зашифруете это как что-то вроде rot13 и т. Д., Это легко отменить.

Как уже упоминалось, вы хотели бы убедиться, что безопасность вашего сайта не зависит от Javascript, поскольку его можно легко отключить.

Любые другие операции, выполняемые на стороне клиента, могут быть легко нарушены.

...