1

您好,我想建立一个不错的登录系统,我正在考虑这些步骤,希望您能告诉我这对黑客和破解者是否真的有效:)

1-在我的登录表单中,每次加载页面时,我都会生成这些 SESSION 变量

SESSION1 = random()
SESSION2 = random()
SESSION3 = random()
SESSION4 = time()
SESSIONHASHKEY = array(){[SESSION1 digits]};
SESSIONRESULT = hash(Concatenation of caracters at position  situated inside the SESSIONHASHKEY array from the SESSION2);
Set the name of the button of the login to the SESSION3 number)

2-在我的登录表单(用户输入用户名和密码)和我的身份验证页面(我的代码将验证用户名和密码是否正确)之间放置一个名为 auth.php 的文件

if !isset SESSION1 redirect login page
if !isset SESSION2 redirect login page
if !isset SESSION3 redirect login page
if !isset SESSION4 redirect login page

if SESSION1 digits array != SESSIONHASHKEY redirect loginpage
if MD5(concatenation of caracters at position situated inside the SESSIONHASHKEY) != SESSIONRESULT redirect loginpage

if !isset loginbutton_{SHA256(MD5(SHA256(MD5(SHA256(SESSION3)))))} redirect login page
if (time() - SESSION4) >10 redirect loginpage

如果测试成功通过,我将重定向到在会话中传递用户名和密码的身份验证页面

这是我的场景,所以我希望你能帮助我定义看起来像过程的安全级别:)

4

1 回答 1

1

据我所知,您并没有从引入中间页面所增加的所有复杂性中受益。除此之外,您正在对哈希哈希的哈希进行哈希处理(显着增加重复哈希的可能性)并显着增加登录的处理时间。

除非你有特定的理由去尝试做任何不必要的复杂事情,否则不要试图重新发明轮子。在网络上可以找到比这种方法更多的简单和安全(如果不是更多的话)。

本文提供了一些构建安全登录的良好实践: PHP Secure Login Tips And Tricks

于 2012-06-30T10:55:54.430 回答