Функциональность пароля не разрешает доступ

Я использую CodeIgniter — последняя версия от 04.12.2014.

Я пытаюсь добавить функциональность пароля на свой веб-сайт для входа на сайт компании. Портал еще не написан, только функциональность. Он отображает и не дает мне никаких ошибок, кроме тех, что для «неверный пароль». Я понятия не имею, где проблема. Так что я включаю все применимые ресурсы

ОБНОВИТЬ! Я нашел, где проблема, теперь мне просто нужно знать, как исправить это ПРАВИЛЬНЫМ способом. На моей модели я зашифровал пароли, используя MD5. Я снял это после запуска профилировщика и увидев, что зашифрованный пароль генерируется и отправляется либо из базы данных, либо из приложения, я не уверен. В любом случае после этого пароль пропускает меня и запрещает доступ при необходимости. Как бы я сохранил шифрование?

—-МОДЕЛЬ —-
Company_user

    <?php

class Company_user extends CI_Model {
function login($username, $password){
$this->db->select('company_user_id, username, password');
$this->db->from('company_user');
$this->db->where('username', $username);
$this->db->where('password', MD5($password));
$this->db->limit(1);

$query = $this->db->get();

if($query->num_rows() == 1) {
return $query->result();
} else {
return FALSE;
}

—-КОНТРОЛЛЕРЫ —-

Авторизоваться

    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Login extends CI_Controller {
function __construct() {
parent::__construct();
}

public function index() {
$this->load->helper(array('form'));
$title = 'ImpactU Online';
$subtitle = 'Company Login Portal';
$subhead = 'Login Below';
$this->load->view('template/header', array(
'title' => $title,
'subtitle' => $subtitle,
'subhead' => $subhead,
));
$attributes = array(
'class' => 'pure-form pure-form-stacked alert alert-info',
);
$this->load->view('login_view', array(
'attributes' => $attributes,
));
$this->load->view('submit');
$this->load->view('template/footer');
}
}

Verfiylogin

       <?php

if (!defined('BASEPATH'))
exit('No direct script access allowed');

class Verifylogin extends CI_Controller {

function __construct() {
parent::__construct();
$this->load->model('company_user', '', TRUE);
}

function index() {
//This method will have the credentials validation
$this->load->library('form_validation');

$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean');
$this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|callback_check_database');

if ($this->form_validation->run() == FALSE) {
//Field validation failed.  User redirected to login page
$title = 'ImpactU Online';
$subtitle = 'Company Login';
$subhead = 'Login Below.';
$attributes = array(
'class' => 'pure-form pure-form-stacked alert alert-info',
);
$this->load->view('template/header', array(
'title' => $title,
'subtitle' => $subtitle,
'subhead' => $subhead,
));
$this->load->view('login_view', array(
'attributes' => $attributes,
));
$this->load->view('submit');
$this->load->view('template/footer');
} else {
//Go to private area
redirect('company_home', 'refresh');
}
}

function check_database($password) {
//Field validation succeeded.  Validate against database
$username = $this->input->post('username');

//query the database
$result = $this->company_user->login($username, $password);

if ($result) {
$sess_array = array();
foreach ($result as $row) {
$sess_array = array(
'id' => $row->id,
'username' => $row->username
);
$this->session->set_userdata('logged_in', $sess_array);
}
return TRUE;
} else {
$this->form_validation->set_message('check_database', 'Invalid username or password');
return false;
}
}

}

Company_home

    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
session_start(); //we need to call PHP's session object to access it through CI
class Company_home extends CI_Controller {

function __construct()
{
parent::__construct();
}

function index()
{
if($this->session->userdata('logged_in'))
{
$session_data = $this->session->userdata('logged_in');
$title = 'ImpactU Online';
$subtitle = 'Welcome To the Company Portal';
$subhead = 'Please Select an Option';
$this->load->view('template/header', array(
'title' => $title,
'subtitle' => $subtitle,
'subhead' => $subhead,
));
$data['username'] = $session_data['username'];
$this->load->view('company_home_view', $data);
$this->load->view('template/footer');
}
else
{
//If no session, redirect to login page
redirect('login', 'refresh');
}
}

function logout()
{
$this->session->unset_userdata('logged_in');
session_destroy();
redirect('company_home', 'refresh');
}

}

—-ПРОСМОТРЫ—-

шаблон / заголовок

    <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title><?php echo html_escape($title); ?></title>
<link rel="shortcut icon" href="<?php echo base_url("assets/images/favicon.ico"); ?>" type="image/x-icon">
<link rel="icon" href="<?php echo base_url("assets/images/favicon.ico"); ?>" type="image/x-icon">
<link
href="<?php
echo base_url('assets/css/impactU.css');
?>" rel="stylesheet" type="text/css"/>
<link
href="<?php
echo base_url('assets/font-awesome-4.2.0/css/font-awesome.min.css');
?>" rel="stylesheet" type="text/css"/>
<link
href="<?php
echo base_url('assets/bootstrap/css/bootstrap.min.css');
?>" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.5.0/pure-min.css">
<link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.5.0/grids-responsive-min.css">
<link
href="<?php
echo base_url('assets/css/side-menu.css');
?>" rel="stylesheet" type="text/css"/>
<script>
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o),
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');

ga('create', 'UA-57039794-1', 'auto');
ga('send', 'pageview');

</script>
</head>
<body>
<div id="layout">
<!-- Menu toggle -->
<a href="#menu" id="menuLink" class="menu-link">
<!-- Hamburger icon -->
<span></span>
</a>

<div id="menu">
<div class="pure-menu pure-menu-open">
<a class="pure-menu-heading" href="<?php echo site_url(); ?>">ImpactU</a>

<ul>
<li><a href="<?php echo site_url(); ?>">
<i class="fa fa-home"></i>
Home
</a>
</li>
<li><a href="<?php echo base_url('index.php/blog'); ?>">
<i class="fa fa-rss"></i>
Blog
</a>
</li>
<li><a href="<?php echo base_url('index.php/store'); ?>">
<i class="fa fa-money"></i>
Store
</a>
</li>
<li><a href="<?php echo base_url('index.php/contact'); ?>">
<i class="fa fa-envelope"></i>
Contact
</a>
</li>
<li><a href="<?php echo base_url('index.php/about'); ?>">
<i class="fa fa-exclamation-circle"></i>
About
</a>
</li>
<li class="menu-item-divided"><a href="<?php echo base_url('index.php/login'); ?>">
<i class="fa fa-lock"></i>
Company Login
</a>
</li>
<li class="menu-item-divided"><a href="<?php echo base_url('index.php/paypal'); ?>">
<i class="fa fa-paypal"></i>
Paypal Demo
</a>
</li>
</ul>
</div>
</div>

<div id="main">
<div class="header">
<h1><?php echo html_escape($title); ?></h1>
<h2><?php echo html_escape($subtitle); ?></h2>
</div>

<div class="content">
<h2 class="content-subhead"><?php echo html_escape($subhead); ?></h2>

Шаблон / сноска

    <hr/>
<div class="footer">
<p><i class="fa fa-copyright"></i> 2014 Tyler Lazenby</p>
</div>
</div>
</div>
</div><script src="<?php $this->load->helper('url');
echo base_url('assets/js/ui.js'); ?>">
</script>
</body>
</html>

login_view

    <?php echo validation_errors(); ?>
<?php echo form_open('c=verifylogin', $attributes); ?>
<div class="pure-g">
<div class="pure-u-1 pure-u-md-1-3">
<label for="username">Username</label>
<input id="username" type="text" name="username" placeholder="username" value="<?php echo set_value('username'); ?>" required/>
</div>
<div class="pure-u-1 pure-u-md-1-3">
<label for = "password">Password</label>
<input id="password" type="password" name="password" required/>
</div>
</div>

Отправить

    <legend>Click submit when done</legend>
<div>
<button type="submit" class="pure-button pure-button-primary">
<i class="fa fa-thumbs-o-up"></i>
Submit
</button>
</form>
</div>

company_home_view

    <h2 class="content-subhead">Welcome <?php echo $username; ?>!</h2>
<a href="home/logout">Logout</a>

Ваша помощь будет очень ценится.

1

Решение

Это очень просто, просто удалите шифрование из модели.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru