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

Sop*_*ral 1 php security

我想创建一个函数,如果对帐户进行多次强力尝试,它将提醒用户.如果字符串匹配超过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,但我的代码中显然存在一个缺陷,我无法找到解决方案.承诺将是辉煌的.

Pek*_*ica 6

你不应该首先这样做.

应该通过对失败的尝试施加每小时/每日限制来简单地防止暴力攻击.用户如何关心黑客猜测密码的接近程度?

此外,更重要的是,您不应该首先以明文形式存储用户的密码.这是一个比通过告诉用户破解尝试而弥补的更严重的安全问题.

有关如何正确存储密码的一些深入讨论,请参阅以下问题: