forked from mirrors/easyappointments
Use the codeigniter random string generation function for creating random passwords (#680).
This commit is contained in:
parent
12c25da042
commit
683aa269b0
3 changed files with 4 additions and 22 deletions
|
@ -99,6 +99,7 @@ class Installation extends CI_Controller {
|
||||||
$this->load->model('providers_model');
|
$this->load->model('providers_model');
|
||||||
$this->load->library('session');
|
$this->load->library('session');
|
||||||
$this->load->library('migration');
|
$this->load->library('migration');
|
||||||
|
$this->load->helper('string');
|
||||||
|
|
||||||
$admin = $this->input->post('admin');
|
$admin = $this->input->post('admin');
|
||||||
$company = $this->input->post('company');
|
$company = $this->input->post('company');
|
||||||
|
@ -142,7 +143,7 @@ class Installation extends CI_Controller {
|
||||||
$services['id'] = $this->services_model->add($services);
|
$services['id'] = $this->services_model->add($services);
|
||||||
|
|
||||||
$salt = generate_salt();
|
$salt = generate_salt();
|
||||||
$password = generate_random_string(100);
|
$password = random_string('sha1', 12);
|
||||||
|
|
||||||
$sample_provider = [
|
$sample_provider = [
|
||||||
'first_name' => 'John',
|
'first_name' => 'John',
|
||||||
|
|
|
@ -83,23 +83,3 @@ function generate_salt()
|
||||||
$salt = hash('sha256', (uniqid(rand(), TRUE)));
|
$salt = hash('sha256', (uniqid(rand(), TRUE)));
|
||||||
return substr($salt, 0, $max_length);
|
return substr($salt, 0, $max_length);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* This method generates a random string.
|
|
||||||
*
|
|
||||||
* @link http://stackoverflow.com/a/4356295/1718162
|
|
||||||
*
|
|
||||||
* @param int $length (OPTIONAL = 10) The length of the generated string.
|
|
||||||
*
|
|
||||||
* @return string Returns the randomly generated string.
|
|
||||||
*/
|
|
||||||
function generate_random_string($length = 10)
|
|
||||||
{
|
|
||||||
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
||||||
$random_string = '';
|
|
||||||
for ($i = 0; $i < $length; $i++)
|
|
||||||
{
|
|
||||||
$random_string .= $characters[rand(0, strlen($characters) - 1)];
|
|
||||||
}
|
|
||||||
return $random_string;
|
|
||||||
}
|
|
||||||
|
|
|
@ -168,6 +168,7 @@ class User_Model extends CI_Model {
|
||||||
public function regenerate_password($username, $email)
|
public function regenerate_password($username, $email)
|
||||||
{
|
{
|
||||||
$this->load->helper('general');
|
$this->load->helper('general');
|
||||||
|
$this->load->helper('string');
|
||||||
|
|
||||||
$result = $this->db
|
$result = $this->db
|
||||||
->select('users.id')
|
->select('users.id')
|
||||||
|
@ -185,7 +186,7 @@ class User_Model extends CI_Model {
|
||||||
$user_id = $result->row()->id;
|
$user_id = $result->row()->id;
|
||||||
|
|
||||||
// Create a new password and send it with an email to the given email address.
|
// Create a new password and send it with an email to the given email address.
|
||||||
$new_password = generate_random_string();
|
$new_password = random_string('sha1', 12);
|
||||||
$salt = $this->db->get_where('user_settings', ['id_users' => $user_id])->row()->salt;
|
$salt = $this->db->get_where('user_settings', ['id_users' => $user_id])->row()->salt;
|
||||||
$hash_password = hash_password($salt, $new_password);
|
$hash_password = hash_password($salt, $new_password);
|
||||||
$this->db->update('user_settings', ['password' => $hash_password], ['id_users' => $user_id]);
|
$this->db->update('user_settings', ['password' => $hash_password], ['id_users' => $user_id]);
|
||||||
|
|
Loading…
Reference in a new issue