相关疑难解决方法(0)

php加密/解密函数使用salt - 如何?

我使用php进行基本应用程序登录系统,能够编辑帐户信息,删除帐户.我有一个mysql数据库.我需要使用salt加密/解密密码.我该怎么做?只需要确保数据安全.

php salt password-encryption

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

不安全的登录脚本 - 如何保护

我正在研究一个可能被sql注入的项目(一个用户报告了它).

以下是登录脚本的一部分:

  $loginemail = $_POST['loginemail'];                 
            $loginemail_sql = mysql_real_escape_string($loginemail);                

            $password = $_POST['loginpass'];                 
            $password_sql = mysql_real_escape_string($password);                

             //get user data
            $q = 'SELECT uid, full_name, score, status FROM users WHERE email="'.$loginemail.'" AND password="'.$password_sql.'" LIMIT 1';
Run Code Online (Sandbox Code Playgroud)

我想现在,如果这是可以注入的代码的一部分?是否存在$ loginemail和$ password被错误处理并且可能包含一些dangerouse"SQL部分"的问题?

php mysql code-injection

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

如何获得两个字符串之间的相似性?

我想创建一个函数,如果对帐户进行多次强力尝试,它将提醒用户.如果字符串匹配超过75%,该函数将提醒用户.我执行了这个:

function Password_Match ($String, $Stored_Password){
    $New_String = str_split($String);
    $New_Stored_Password = str_split($Stored_Password);
        $Match = 0;
    foreach ($New_String AS $Value){
        if (in_array($Value,$New_Stored_Password)){
            $Match++;
        }
    }
    return $Match;

}

$String = "Test";
$Pass = "Tesst";
echo Password_Match($String,$Pass);
Run Code Online (Sandbox Code Playgroud)

这返回4,但我的代码中显然存在一个缺陷,我无法找到解决方案.承诺将是辉煌的.

php security

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

最佳加密技术

我正在使用PHP.我想要一个安全快速的密码加密系统.散列密码一百万次可能更安全,但也更慢.如何在速度和安全性之间取得良好的平衡?我想知道php中最好的加密方法以及如何应用它.

php mysql passwords password-hash

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

如何比较md5密码php

我需要检查是否$user_entered_pass$hash_val. 请帮我?

    <?php
    $mypass = "Rainbow";
    $hash_val = md5($mypass);

    echo $hash_val; //always 32 characters

    $user_entered_pass = "rainbow";
?>
Run Code Online (Sandbox Code Playgroud)

php

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

PHP身份验证 - 成员区域与公共页面上的额外内容

我正在尝试为开发中的站点考虑我的用户身份验证系统,并已阅读堆栈溢出和其他地方的许多帖子以了解我的想法.我找到了几个选项,我想知道这个看起来是不错的起点:

http://php.about.com/od/finishedphp1/ss/php_login_code_6.htm

它似乎加密密码,避免一些明显的陷阱.

此外,也许是一个愚蠢的问题,但我想使用身份验证有两个原因:1.在其他公共页面上为用户提供一些额外的功能.(想一想页面顶部的"Hello [username]").
2.还提供用户访问私人页面的权限.

这两种类型的应用程序(登录=在公共页面上添加的东西而不是登录=访问私有页面)依赖于相同的身份验证,对吧?

换句话说,无论我是想做其中一个还是两个都不应该影响我对身份验证的看法,对吗?

如果我通过使用about.com教程来解决问题,请告诉我....

提前致谢.

关注编辑:好的,所以about.com教程有一些漏洞.我发现下面有一个更完整的系统似乎使用SHA1加密.这也有新用户的电子邮件验证和一些其他不错的功能.乍一看,这看起来像是一条可靠的路线吗?

http://www.unlimitedtree.com/topic/1503-tutadvanced-login-member-system-php-tutorial/

php mysql authentication

0
推荐指数
1
解决办法
150
查看次数

哪种哈希算法用于密码PHP

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

为了加密php文件中的密码,我想更改为sha256md5,而不是使用sha1作为iIwent进行在线研究,他们说sha1不是那么安全.

如何更改php文件?

<?php

class DB_Functions {

private $db;

//put your code here
// constructor
function __construct() {
    require_once 'DB_Connect.php';
    // connecting to database
    $this->db = new DB_Connect();
    $this->db->connect();
}

// destructor
function __destruct() {

}

/**
 * Storing new user
 * returns user details
 */
public function storeUser($name, $nric, $email, $license, $address, $postal_code, $password) {
    $hash = $this->hashSSHA($password);
    $encrypted_password = $hash["encrypted"]; // encrypted password
    $salt = …
Run Code Online (Sandbox Code Playgroud)

php encryption passwords

0
推荐指数
1
解决办法
3193
查看次数

我已经在PHP中创建了一个更改密码脚本,它不起作用

我有以下代码,它将无法正常工作.我目前正在为系统开发一个简单的更改密码功能,并且无法使其正常运行.我想知道我是否忽略了一个非常简单的解决方案?

<?php    
    $con = mysql_connect("localhost","root");
    if (!$con) {
        die('Could not connect: ' . mysql_error());
    }

    $username = $_POST['userid'];  
    $password = $_POST['cpword'];
    $newpassword = $_POST['pword'];
    $confirmnewpassword = $_POST['pword2'];

    $result = mysql_query("SELECT username, pword FROM login WHERE username='$username'");

    if(!$result) {
        echo "The username entered does not exist!";
    } else
        if($password != mysql_result($result, 0)) {
            echo "Entered an incorrect password";
        }

    if($newpassword == $confirmnewpassword) {
        $sql = mysql_query("UPDATE login SET pword = '$newpassword' WHERE username = '$username'");     
    }

    if(!$sql) {
        echo "Congratulations, password …
Run Code Online (Sandbox Code Playgroud)

php

0
推荐指数
1
解决办法
560
查看次数

警告:PDO :: exec()期望参数1为字符串

我正在开发需要登录页面的网络应用程序,一切正常,直到我尝试转换为PDO并使用准备好的查询在这里是我的代码:

$req=$idconnex->prepare("SELECT * FROM `enseignant` WHERE ens_cin=:cin AND ens_pass=:pass");
$req->bindParam(':cin',$_GET["login"]);
$req->bindParam(':pass',$_GET["password"]);
$res=$idconnex->exec($req);
if(!empty($res) AND $res->rowCount==1)          
    {echo 'SUCCESS';}
else
    {echo 'FAIL';}
Run Code Online (Sandbox Code Playgroud)

出现警告:

警告:PDO :: exec()期望参数1为字符串,对象在...中给出

并且即使我插入正确的参数,它也会返回FAIL!

php mysql pdo

0
推荐指数
1
解决办法
1583
查看次数

PHP中的意外T变量

我是PHP的新手,我需要一点帮助.我很确定这可能是最常见的问题之一,并且很容易修复,但我一直在努力.我会这么愚蠢

好吧,所以这是我的问题:每次我去我的localhost尝试打开我的PHP站点它不会因为我每次都得到这个错误.

"解析错误:语法错误,第4行的C:\ xampp\htdocs\exam\_register.php中的意外'$ db'(T_VARIABLE)"

这是我的PHP代码.

    <?php
    session_start()

    $db = mysqli_connect("localhost", "root", "", "authentication");

    if (isset($_POST['register_btn'])) {
        session_start();
        $username = mysql_real_escape_string($_POST['username']);
        $emailaddress = mysql_real_escape_string($_POST['emailaddress']);
        $password = mysql_real_escape_string($_POST['password']);
        $password2 = mysql_real_escape_string($_POST['password2']);

        if ($password == $password2) {
            $password = md5($password);
            $sql = "INSERT INTO users(username, email, password) VALUES ('$username', '$emailaddress', '$password')";
            mysql_query($db, $sql);
            $_SESSION['message'] = "You are now registered!";
            $_SESSION['username'] = $username;
            header("location: home.php");
        }else {
            $_SESSION['message'] = "The two passwords do not match";
        }   
    }
?>
Run Code Online (Sandbox Code Playgroud)

php xampp

0
推荐指数
1
解决办法
202
查看次数