2009-04-03 7 views
2

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

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

ответ

2

Такой открытый вопрос, при котором не так много деталей. Я предлагаю прочитать отличный «Essential PHP Security» Криса Шифлетта, прежде чем идти дальше. Это коротко, по сути и очень практично.

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

0

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

1

Используя PHP рамки для безопасности

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

Я фанат CodeIgniter, но другие варианты включают CakePHP и Zend.

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

Всего list of PHP frameworks can be found on wikipedia.

+3

Использование фреймворка не помешает вам создавать небезопасные приложения. Вам нужно знать о лучших рекомендациях по безопасности. Рамки не заменяют безопасное кодирование. Не просвещать себя о безопасности, потому что вы используете фреймворк, это очень неосведомленный способ выкапывать собственную дыру в безопасности. – Jacco

+0

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

+0

Они, безусловно, могут вам помочь. – Jacco

0

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

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

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

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

Смежные вопросы