php - Laravel 颤振登录
问题描述
我正在尝试将我的网站连接到我的颤振应用程序。我使用 laravel 框架制作了网站,现在我从我的应用程序登录时遇到问题,因为 laravel 使用 bcrypt 算法进行散列。如何通过我的应用程序从 laravel 创建的帐户登录?现在,当通过 md5 完成散列时登录工作,但它只适用于应用程序而不是网络。我尝试使用下面提到的 bcrypt,但它没有用。
$email = $_POST['email'];
$password = md5($_POST['password']);
$query = "SELECT * FROM users WHERE email='$email' AND password = '$password'";
尝试使用:
$password=password_hash($_POST['password'], PASSWORD_BCRYPT);
解决方案
如果您想自己处理此问题,您将通过电子邮件或用户名检索用户。然后,如果您有记录,则可以从中获取散列密码,并根据纯文本密码对其进行验证。
$query = "SELECT * FROM users WHERE email=:email";
// do what you have to execute the prepared statement and get a record
if ($user && password_verify($_POST['password'], $user->password)) {
// have a record and the password was verified
}
推荐阅读
- python - 用于下载 Youtube 视频的 Python 中的 Pytube 错误
- javascript - IOS 设备上的 HTML 或 Javascript Base64 文件上传存在大文件问题
- c# - RestSharp 在序列化实例时忽略 JSON 属性
- javascript - 如何访问 Yup 内部状态并手动更新它
- reverse-proxy - 如何通过 https 使用 caddy 作为本地域的反向代理
- python - tensorflow tensorboard hparams
- model-view-controller - VS 2019 MVC Web 应用程序。尝试下载文档但浏览器显示响应消息而不是下载文件?
- javascript - 缺少图像时的后备背景
- firebase - Flutter Firebase Firestore 获取特定数据并分配给变量并永久显示它们
- django - 无法使用命令安装 mod_wsgi