个性化阅读
专注于IT技术分析

Phalcon安全哈希

Phalcon向开发人员提供了常见的安全任务, 例如:

  • 密码哈希。
  • 跨站点请求伪造保护(CSRF)。

密码哈希

这是一种将密码以加密形式存储在数据库中的技术。如果密码以纯文本格式存储, 那么任何有权访问数据库的入侵者都可以轻松查看密码。

为避免此问题, 密码哈希具有2种技术:

  • md5:它将纯文本转换为32个字符的十六进制数字的哈希。
  • sha1:它将纯文本转换为40个字符的十六进制数字的哈希。

例子

请参阅使用md5技术的密码哈希示例:

<?php

use Phalcon\Mvc\Controller;

class UsersController extends Controller
{
    public function registerAction()
    {
        $user = new Users();

        $login    = $this->request->getPost('login');
        $password = $this->request->getPost('password');

if ($user === false) { 
            $this->flash->error("Incorrect credentials"); 
            return $this->dispatcher->forward(array( 
               'controller' => 'users', 'action' => 'index' 
            )); 
         } 
         $this->session->set('auth', $user->id);  
         $this->flash->success("You've been successfully logged in");

        $user->login = $login;

        // Store the password hashed
        $user->password = $this->security->hash($password);

        $user->save();
    }
}

输出

Phalcon密码哈希1

成功登录数据库后, 我们可以看到以哈希格式存储的密码:

Phalcon密码散列2
赞(0)
未经允许不得转载:srcmini » Phalcon安全哈希

评论 抢沙发

评论前必须登录!