首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >管理/人员面板的简单实现?

管理/人员面板的简单实现?
EN

Stack Overflow用户
提问于 2010-05-04 05:01:48
回答 3查看 2K关注 0票数 3

一个新项目需要一个简单的面板(页面),供管理人员和工作人员使用:

  • 最好不要使用SSL或任何数字证书的东西,一个简单的登录将从通过http将只是罚款。
  • 有基本的身份验证,只允许管理员以管理员身份登录,任何工作人员作为组“工作人员”。理想情况下,“凭据(用户名-有密码对)”将存储在MySQL中。
  • 如果有包,则配置简单,或者策略代码简单。
  • 某个地方(PHP会话?)不知为何(在每个页面的开头包含一个脚本,以便在执行任何操作之前检查用户组?),它将检测到任何访问受保护页面的无效用户尝试并将他/她重定向到登录表单。
  • 虽然仍然保持高质量的安全,这是我最担心的事情。

坦率地说,我对互联网安全以及像WordPress/Joomla这样的现代CMS是如何处理的知之甚少。

我脑子里只有一件事:我需要用一个盐来破解密码(SHA1?)为了确保任何通过网络获取用户名和密码对的黑客不能使用该用户名和密码登录到系统中。这就是客户想要确保的。

但是我真的不知道从哪里开始,有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-04 17:48:01

HTTPS的使用是一个绝对的要求,必须在整个会话期间使用。请记住,会话id用于对浏览器进行身份验证,如果攻击者可以获得一个(嗅探或xss),那么他不需要用户名/密码。这是由OWASP 2010年前10名A3 中断身份验证和会话管理制定的。如果要实现安全会话,则必须阅读该链接。

md4、md5 sh0和sha1都是坏消息摘要函数,永远不能用于密码。沙-2家族的任何成员都是一个不错的选择,sha256非常大,而且是一个很好的密码选择。

您应该绝对不要通过网络传输密码散列,也不应该将密码散列泄漏给用户/攻击者。如果要向服务器发送哈希以进行身份验证,那么您已经在系统中引入了一个非常严重的漏洞。使用sql注入,可以从数据库中获取密码哈希,然后可以简单地重放此哈希以进行身份验证,从而绕过破解密码哈希的需要。这就像在用明文存储密码一样。

使用$_SESSION超级全局和session_start()来维护您的会话状态,永远不要重新创建state。默认的PHP会话处理程序是安全的,可以满足您的需要。

代码语言:javascript
复制
session_start();
if(!$_SESSION['logged_in']){
   die("Authentication required!");
}

还要确保在系统中实现CSRF保护。使用CSRF,攻击者可以通过强制浏览器发送请求来访问管理面板。确保测试您的XSS应用程序--这是一个很好的免费xss扫描仪,同样,xss可以通过使用XHR或获取document.cookie的值来劫持经过身份验证的会话。测试SQL和其他漏洞也是一个好主意,马鹿会做到这一点。

票数 2
EN

Stack Overflow用户

发布于 2010-05-04 05:06:17

不使用SSL将在整个系统中留下相当大的漏洞,因为很容易嗅探网络流量。

票数 1
EN

Stack Overflow用户

发布于 2010-05-04 05:05:59

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2762911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档