这个登录系统安全吗?

mcb*_*eav 4 php security login

我只是想知道这个登录系统是否安全,因为我曾计划将它用作学习工具.我不想用任何会教我错误方法的东西.有人可以帮忙吗?

https://github.com/ivannovak/jpmaster77-s-Login-System-

小智 5

您可能需要考虑以下几点:

1)它是使用md5加密还是sha1(sha1更好).

2)是否使用腌制?

3)是否确保仅允许https访问?(理想情况下,http://登录/密码页面应重定向到https://版本).

4)忘记密码如何工作?理想情况下,密码重置链接应发送到已注册的电子邮件ID,而不是直接在线访问.如果有一些内置的安全问题 - 它们是否足够强大?安全问题是否正确加密?

问候,

J.P


Alf*_*red 5

在快速浏览代码时,我认为您不应该使用此代码,因为它可能会受到损害.

PS:我也不认为你应该学习那些东西(如果你想学习openid规范/库,而是留给安全专家.你应该使用openid/facebook connect/etc.我使用rpxnow.com很多乐趣.

旧代码库

第一个代码库是旧的.最后提交是August 11, 2009.我会看一个更加维护的loginsystem(更新).例如,它不使用更新/更安全的PDO来访问您的数据库.我也发现代码库有点乱.没有MVC?

SSL

不确定此代码库是否强制执行SSL.如果不是,您的密码将以纯文本形式传输.

Mysql注入

由于mysql注入=> https://github.com/ivannovak/jpmaster77-s-Login-System-/blob/master/mail.php#L118,此代码可能不安全

$q = "SELECT * FROM mail WHERE UserTo = '$user' ORDER BY SentDate DESC";
Run Code Online (Sandbox Code Playgroud)

如果session->username已被编译(没有查看所有引用),则系统不安全.一个体面的(现代)系统使用PDO.

没盐

我不相信系统确实使用salt,因此使用Rainbow表可以在数据库受到威胁时发现所有密码.=>
https://github.com/ivannovak/jpmaster77-s-Login-System-/blob/master/include/session.php#L157

$result = $database->confirmUserPass($subuser, md5($subpass));
Run Code Online (Sandbox Code Playgroud)

你应该考虑的其他事情

  • CSRF
  • XSS攻击

本地主机?

这也是线路很奇怪(不安全)=>
https://github.com/ivannovak/jpmaster77-s-Login-System-/blob/master/include/mailer.php#L34
你无法从互联网.