Я новичок в вопросах безопасности, я читал php crypt и искать хороший совет, хотя никто не вдается в подробности о том, «как» вы делаете это наиболее эффективным способом.
Я сделал тестовый логин, который использует что-то вроде этого:
//verify login from user input
$username = mysql_real_escape_string($_POST['username']);
$salt = '$2a$10$cdDegHjJLPUvVXYz23679.MOetNHBk9NTStpY9YjJWiL5ECfhHlSm';
$password = crypt(mysql_real_escape_string($_POST['password']), $salt);
(Я уверен, что мне нужно многое изменить, чтобы сделать его полностью безопасным (например, ограничить длину строки пароля). Пожалуйста, просветите меня чем-нибудь еще, что, по вашему мнению, будет полезно)
Я где-то читал, что идеально делать случайную соль и хранить ее вместе с паролем (я не совсем понимаю эту концепцию проверки числа, которое не относится к паролю)
Затем я где-то прочитал, что делать случайную соль бессмысленно, потому что это не повысит безопасность, и что статическая соль сделает то же самое.
Я видел этот учебник с использованием случайной соли с $_GET. (Скажи мне, что это неправильно)
Может ли кто-нибудь указать мне правильное направление, чтобы сделать мой bcrypt максимально эффективным.
Спасибо
mysql_real_escape_string
. Его следует использовать только для экранирования строк для запросов (и его в любом случае следует избегать, вы безопаснее при использовании подготовленных операторов, и их легче правильно понять для начинающих). И да, вы должны использовать случайную соль для каждого пользователя. - person knittl   schedule 10.04.2012