相关疑难解决方法(0)

如何在用户密码中添加salt?

我使用简单的md5($password);格式,但我想添加盐,所以我怎么能这样做?

这是我的代码:

   if($success)
    {
        $data['firstname'] = $firstname;
        $data['lastname'] = $lastname;
        $data['username'] = $username;
        $data['password'] = md5($password);
        $data['email'] = $email;


        $newUser = new User($data);
        $newUser->save(true);
        $Newuser->login($username, $password);
        header("Location: welcome.php");

    }
Run Code Online (Sandbox Code Playgroud)

php

5
推荐指数
1
解决办法
6167
查看次数

PHP - 如何让我的用户登录?

我正在使用登录功能.

但是当我从我的网站更改页面时,我必须再次登录.

当我更改页面时,如何让用户登录?

这是我的代码:

<?php
error_reporting(0);
if($_POST['login']=="") {
?>
  <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>" >
    <label><a>Utilizador</a><input type="text" name="login" id="s-user"></label>
    <label><a>Senha</a><input type="text" name="password" id="s-pass"></label>
      <input type="submit" class="submit" value="Entrar">

  </form>


<?php
}
else {
?>
<?php
include("classes/Utilizadores/Cliente.class.php");


        if($_REQUEST['login']!="") {
            if($_REQUEST['password']!="") {

                            $clientes = new Cliente();
                            if($clientes->verificarCliente($_REQUEST['login'], $_REQUEST['password'])) {
                                echo "<br>";
                            } else {
                                echo "<br><a>Login ou senha errados, caso não tenha, <a href='criarconta.php'> registre-se</a>, <a>ou</a> <a href='index.php'>volte a tentar.</a></a><br>";
                            }
                            $clientes->endCliente();

            } else {
                echo "ERRO: Deve introduzir a sua password...<br>"; …
Run Code Online (Sandbox Code Playgroud)

php session

5
推荐指数
2
解决办法
2万
查看次数

使用散列来安全地存储用户密码

在提出问题之前,请尝试搜索StackOverflow.许多问题已经得到解答.例如:

你好

我希望即使在数据库中也没有人能看到我的密码..

所以我使用了这样的哈希函数

$passowrd_hash=hash('shal',$_POST['password']);
Run Code Online (Sandbox Code Playgroud)

现在我可以轻松地将此password_hash值存储到数据库中.这将是加密形式的东西.

现在用户知道其原始密码,他不知道这个加密密码.

现在如果他尝试登录这个原始密码......他无法登录.

那么有没有任何方法可以解密,用户可以登录.所以他既可以实现密码的安全性,也可以再次登录.

这该怎么做?

php passwords

4
推荐指数
1
解决办法
515
查看次数

PHP AJAX登录,这种方法安全吗?

我刚刚启动PHP和mySQL,需要知道这是否"安全".登录信息通过AJAX(jQuery)传递到以下PHP文件中.

jQuery AJAX

$("#login_form").submit(function(){
    $.post("login.php",{user:$('#username').val(),pass:$('#password').val()} ,function(data)
Run Code Online (Sandbox Code Playgroud)

PHP

ob_start();
mysql_connect("-", "-", "-") or die("ERROR. Could not connect to Database."); 
mysql_select_db("-")or die("ERROR. Could not select Database.");

//Get Username and Password, md5 the password then protect from injection.

$pass = md5($pass);
$user = stripslashes($user);
$pass = stripslashes($pass);
$user = mysql_real_escape_string($user);
$pass = mysql_real_escape_string($pass);

//See if the Username exists.
$user_result=mysql_query("SELECT * FROM users WHERE username='$user'");
$user_count=mysql_num_rows($user_result);

if($user_count==1){
    if($pass_length==0){ echo "userVALID"; }
    else{       
        $pass_result=mysql_query("SELECT * FROM users WHERE username='$user' and password='$pass'");
        $pass_count=mysql_num_rows($pass_result);       
        if($pass_count==1){             
            session_register("user");
            session_register("pass"); …
Run Code Online (Sandbox Code Playgroud)

php security ajax jquery login

4
推荐指数
2
解决办法
9362
查看次数

PHP最强的单向加密/散列方法

我有一个人们可以注册的网站,我需要加密他们的密码.我研究了它,但我发现任何方法都不会受到现代GPU的强大影响.

所以我来向StackOverflow的优秀人士询问,最强大的加密方法是什么,我已尽力阻止人们掌握数据库,但我希望尽可能确保他们的数据是如果数据库以某种方式被盗,那很好.

我想知道的其他事情是,以某种方式随机化密码中的字符会更安全,但是你可以将它们再次随机化以便登录吗?

编辑: 我已经使用了Andrew Moore的bcrypt实现(如何在PHP中使用bcrypt进行散列密码?)并想出这个:

public static function Encrypt($Str,$Salt)
{
    $bcrypt = new \bcrypt();
    return $bcrypt->hash(SERVER_SALT . md5($Str) . $Salt);
}
Run Code Online (Sandbox Code Playgroud)

如果有人发现任何错误或任何弱点,请告诉我.

php passwords password-hash

4
推荐指数
1
解决办法
2万
查看次数

加密密码的安全方式

可能重复:
PHP密码的安全散列和盐

这是加密密码以存储在mysql数据库中的安全方法:

md5(sha1($password))
Run Code Online (Sandbox Code Playgroud)

谢谢.

php mysql

3
推荐指数
1
解决办法
1558
查看次数

使用sha1和salt存储密码

我有一个简单的注册脚本在PHP完成,我只是好奇,如果我这样做的方式足够安全,以存储用户密码.我正在生成一个32位随机盐并将其附加到sha1哈希密码.

//create new validator object
    $validator = new data_validation();
    //validate user input
    $firstName = $validator->validate_fname($firstName); //is the first name a string?
    $lastName = $validator->validate_lname($lastName); // is the last name a string?
    $username = $validator->validate_username($username); // is the username a string?
    $email = $validator->validate_email($email); //is the email in valid format?

    //make sure there isn't duplicate emails
    $valQuery = $link->query("SELECT email FROM users WHERE email = '" .$email. "'");

    if ($valQuery->num_rows == 1) {
        echo "An email is already registered with that …
Run Code Online (Sandbox Code Playgroud)

php hash mysqli sha1 salt

3
推荐指数
1
解决办法
1万
查看次数

密码哈希:Keccak与否

SHA-3已经选择了哈希算法竞赛的获胜者.获胜者的算法是Keccak.

我使用Blowfish并且非常喜欢它,但据说Keccak更好.是否值得使用它在我的网站上存储用户的密码?

如果是,是否有任何用于Web编程的PHP,Python,Ruby或任何其他语言的Keccak实现?

我希望这个问题也能帮助其他人.谢谢!

php python blowfish sha-3 keccak

3
推荐指数
1
解决办法
2579
查看次数

警告:mysqli_query()要求参数1为mysqli,字符串为

我在标题中提到了警告,我的代码在这里:

<?php
 require_once 'conn.php';
 require_once 'http.php';

if (isset($_REQUEST['action'])) {
    switch ($_REQUEST['action']) {
    case 'Login':
    if (isset($_POST['email'])
    and isset($_POST['passwd']))
    {


 $sql = "SELECT user_id, access_lvl,name "."FROM cms_users"."WHERE email='" . $_POST['email'] . "' " .
        "AND passwd='" . $_POST['passwd'] . "'";

      $result = mysqli_query($sql, $conn) or  die('Could not look up user information; ' . mysql_error());
Run Code Online (Sandbox Code Playgroud)

php mysql email post mysqli

3
推荐指数
1
解决办法
5万
查看次数

每个字符串的PHP password_hash函数值都不相同

我尝试使用password_hash() PHP函数来哈希用户密码.但是,它的功能是工作哈希,而不是常量.

<?php 
    echo password_hash('a',PASSWORD_BCRYPT,array(
            'cost' => 12
         ));
?>
Run Code Online (Sandbox Code Playgroud)

第4次测试时间的结果

1. $2y$12$SRmipqM7AsYkx3Xc8QGHNex69rGXeVyWGTYrh9T8sh1cP3UrdjfQi
2. $2y$12$zx.GUgtcake3wMfl3/YXXeG1.8mmHKyRruL3nWj8OmA.RbEYqeW6u
3. $2y$12$XQtmFplcehkgWLbGrOUsNOlXDU/NGrwZlt3HM88hLbUHXhjXNF4km
4. $2y$12$q9/OSZdDJw7af4Hw4MGlHeY7UMtWr9/Cj0nj/N6PaoilNoUBePt7O
Run Code Online (Sandbox Code Playgroud)

php password-hash php-password-hash

3
推荐指数
1
解决办法
4599
查看次数