Я знаю, что это старый пост, но я подумал, что это может помочь кому-то, кто спотыкается.
Пока вы не назначаете объект ни к чему, он не поддерживает ссылка в памяти. Поэтому, чтобы создать объект, который вы хотите разделить между другими объектами, вам нужно создать такую фабрику:
var a = function(){
return {
father:'zacharias'
};
},
b = a(),
c = a();
c.father = 'johndoe';
alert(b.father);
При регистрации вы получаете пароль от пользовательского ввода и генерируете его с помощью password_hash()
:
$hash = password_hash($_POST['password'], PASSWORD_BCRYPT);
Вы можете предоставить ему обычную соль для использования в третий параметр, но документация рекомендует не делать этого:
Внимание. Настоятельно рекомендуется, чтобы вы не генерировали свою соль для этой функции. Он автоматически создаст безопасную соль для вас, если вы ее не укажете.
blockquote>Вы сохраняете этот хэш в базе данных. Убедитесь, что вы поместите его в поле
CHAR
/VARCHAR
из символов60
или дольше.Когда пользователь хочет войти в систему, вы проверяете пароль, который они вводили против ранее сохраненного хеша, используя
password_verify()
:$auth = password_verify($_POST['password'], $hash);
Конечно, вы получите правильное значение
$hash
из базы данных, выполнив поиск по указанному имени пользователя.Если
$auth
-TRUE
, тогда предоставленный пароль соответствует его хэшу, вычисленному при регистрации, и пользователь аутентифицируется.
UNIQUE INDEX
в столбце «имя_пользователя» в базе данных, чтобы ускорить его работу и обеспечить уникальность. – axiac 14 March 2017 в 08:01