php - 这个登录系统安全吗?

标签 php security authentication

我只是想知道这个登录系统是否安全,因为我曾计划将其用作学习工具。我不想使用任何会教我错误方法的东西。谁能帮忙?

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

最佳答案

当快速浏览代码时,我认为您不应该使用此代码,因为它可能会被泄露。

P.S:我也不认为你应该学习那些东西(如果你想学习 openid 规范/库,但把它留给安全专家。你应该使用 openid/facebook connect/等。我使用 rpxnow。非常高兴。

旧代码库

第一个代码库是旧的。最后一次提交是 2009 年 8 月 11 日。我会看一个更维护(更新)的登录系统。例如,它不使用更新/更安全的 PDO 来访问您的数据库。我还发现代码库有点乱。没有 MVC?

SSL

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

Mysql注入(inject)

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

$q = "SELECT * FROM mail WHERE UserTo = '$user' ORDER BY SentDate DESC";

如果 session->username 已被泄露(没有查看所有引用资料),那么您的系统是不安全的。一个体面的(现代)系统使用 PDO。

无盐

我不相信系统确实使用盐,所以使用 Rainbow table当您的数据库遭到破坏时,可以发现所有密码。 =>
https://github.com/ivannovak/jpmaster77-s-Login-System-/blob/master/include/session.php#L157

$result = $database->confirmUserPass($subuser, md5($subpass));

其他你应该考虑的事情

  • CSRF
  • XSS 攻击

本地主机?

另外这条线很奇怪(不是不安全)=>
https://github.com/ivannovak/jpmaster77-s-Login-System-/blob/master/include/mailer.php#L34
您无法从互联网访问本地主机。

关于php - 这个登录系统安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4425780/

相关文章:

javascript - 图像系列栏

php - PHPWord可以读取MSWORD吗?

php - 带有 API Token 的 Laravel 5.5 api 授权

web-services - 基于 HMAC over HTTP 或基于 HTTPS 的单 token 的身份验证系统是否更昂贵?

php - symfony 在登录期间更改路由中的语言环境

格式化/缩进我的 HTML 代码的 PHP 函数/类?

ios - 使用安全框架在 Objective-C 中以编程方式创建 x509 证书

java - 具有通配符或 SAN 证书的站点不调用 HostNameVerifier

iphone - 重新登录时 Facebook iOS Api 调用失败,但 isSessionValid 为 YES

c# - .Net Core 3.1 合并 JWT 和 OpenIDConnect 身份验证