Вопрос

Я создаю приложение, которое будет хранить некоторые данные наших клиентов, такие вещи, как имена пользователей / пароли, информацию, которую нам нужно запомнить и сохранить в безопасности.

Каков наилучший способ безопасного хранения этой информации?

Это было полезно?

Решение

Такой открытый вопрос, в котором не так много подробностей для продолжения.Я бы посоветовал прочитать превосходную книгу Криса Шифлетта "Необходимая безопасность PHP" прежде чем ты пойдешь дальше.Оно короткое, по существу и очень практичное.

Также разумное количество советов доступно на веб-сайте книги по адресу http://phpsecurity.org/

Другие советы

У Devlounge есть очень хорошая статья о безопасности.

http://www.devlounge.net/code/php-security

Использование PHP-фреймворка для обеспечения безопасности

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

Я фанат Инициатор кодирования но другие варианты включают в себя КакеФФП и Зенд.

Использование фреймворка для обеспечения безопасности будет означать, что вы сразу получите испытанный метод, однако для изучения фреймворка может потребоваться некоторое время и усилия.

В общей сложности список фреймворков PHP можно найти в википедии.

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

В качестве дополнительной безопасности мне нравится генерировать случайную строку из 8 символов и сохранять ее также в каждой строке - я называю этот столбец "Keycode".Когда пользователь входит в систему с правильным именем пользователя / паролем, я сохраняю его аутентификацию в переменных сеанса, а также соответствующий "Код ключа".

Таким образом, сеансовая аутентификация может не только искать правильное имя пользователя / пароль, но и быстро запрашивать базу данных и проверять, совпадает ли "Код ключа", хранящийся в переменной сеанса, с кодом ключа в строке.

Это работает хорошо, потому что даже пользователь не знает свой код ключа.

Что касается паролей, вы должны хранить хэш пароля.Всякий раз, когда вы аутентифицируете пользователя, вы хэшируете введенный им пароль и сравниваете результат с тем, что вы сохранили.Таким образом, вы не сохраняете фактический пароль.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top