阻止用户访问管理员登录页面

时间:2015-07-08 22:29:30

标签: php security

目前我正在使用PHP设置管理员登录页面,这就是我设置它的方式。

如果用户导航到website.com/admin,则会返回404错误。访问admin登录的唯一方法是访问website.com/admin?key=random-string。如果URL中的密钥与数据库中的密钥不匹配,则会返回404错误。当密钥匹配时,它将显示管理员登录信息。

我认为这有助于阻止某人访问管理员登录界面,但我没有足够的经验知道这是否属实。

2 个答案:

答案 0 :(得分:2)

对于额外的安全层,最好使用htaccess和htpassword作为/ admin目录。有几个教程和生成器可用。

这种方式在浏览页面时会要求输入密码/密钥。如果输入正确,它将显示您的登录页面 - 否则它将显示禁止的错误。

答案 1 :(得分:2)

  

我认为这很有助于阻止某人访问   到管理员登录屏幕,但我没有足够的经验知道是否   这是真的。

不要试图通过试图击败他们来击败攻击者。始终假设攻击者比你聪明,并在该模型上建立安全性。

使您的登录和会话管理系统相当安全。例如:

  • 采用双因素身份验证。
  • 使用HTTPS以及安全Cookie和HSTS。
  • 在多次登录失败后限制或锁定帐户。
  • 确保您不易受会话固定的影响。
  • 确保您不容易受到用户枚举的影响。

查看Session Management Cheat Sheet以获取更多指示。

此外,不要在URL本身使用机密。即使这些在使用HTTPS时受到保护,它们也会在浏览器和代理历史记录中记录,默认情况下由服务器日志记录,并且可能会泄漏到referer标题中。