|
|
1
15
这些都是很好的答案…我通常喜欢为我的管理部分添加一些额外的层。虽然我在一个主题上使用了一些变体,但它们通常包括以下内容之一:
|
|
|
2
18
如果网站需要定期活动和管理员(如论坛)登录,我将使用使用相同用户数据库的单独登录。这确保了XSRF和会话窃取不允许攻击者访问管理区域。 另外,如果管理部分在一个单独的子目录中,那么使用Web服务器的身份验证(例如,Apache中的htaccess)来保护该子目录可能是一个好主意,那么有人需要该密码和用户密码。 隐藏管理路径几乎不会带来安全收益-如果有人知道有效的登录数据,他很可能也能找到管理工具的路径,因为他要么钓鱼,要么键盘记录你,要么通过社会工程(这可能也会揭示路径)。 一个蛮力的保护,比如在3次登录失败后阻止用户的IP,或者在登录失败后需要验证码(不是第一次登录,因为这对合法用户来说非常烦人),可能也很有用。 |
|
|
3
7
是的,写完之后,我意识到这个答案可以概括为“对于管理员登录来说没有什么特别的,它们都是应该用于任何登录的安全特性”。 |
|
|
4
3
如果对同时具有普通用户权限和管理权限的用户只使用一个登录名,则当权限级别发生更改时,请重新生成其会话标识符(无论是在cookie或get参数中,还是其他…)。至少。 因此,如果我登录,做一些普通的用户资料,然后访问一个管理页面,重新生成我的会话ID。如果我然后从一个管理页面导航到一个普通的用户页面,重新生成我的ID。 |
|
|
5
1
有一个好的管理员密码。
不是
为每个密码检查添加一个暂停,以防止暴力攻击。 |
|
|
6
1
以下是需要考虑的其他事项:
|
|
|
7
1
我们使用
|
|
|
8
-1
严格的方法是拥有两个完全不同的“服务器场”,包括数据库、服务器和所有服务器,并将数据从一个服务器场移动到另一个服务器场。大多数现代、大规模的系统都使用这种方法(vignette、sharepoint等)。它通常被称为具有不同阶段的“编辑阶段”->“预览阶段”->“交付阶段”。此方法允许您以处理代码(dev->qa->prod)的方式处理内容/配置。 如果你没有那么多疑,你可以有一个单一的数据库,但只有你的管理部分在“编辑”服务器上可用。我的意思是,只有编辑脚本/文件放在编辑服务器上。 当然,编辑阶段只能在本地Intranet上和/或使用VPN。 这可能看起来有点过分杀伤力,对于所有的使用案例来说,这可能不是最简单的解决方案,但它无疑是最强大的方式。 请注意,“拥有强大的管理密码”这样的东西是不错的,但仍然让您的管理对各种智能连接开放。 |
|
|
9
-2
这在很大程度上取决于您想要保护的数据类型(法律要求等)。
|
|
|
10
-2
我没有注意到有人提到管理密码的存储/验证。请不要将密码以纯文本的形式存储,最好不要使用可以反转的内容-使用类似 salted MD5散列,这样至少当某人碰巧检索存储的“密码”时,他们没有任何非常有用的东西,除非他们也有您的salt方案。 |
|
|
11
-3
添加一个密码字段和一个管理员会知道的安全问题,例如,你的第一个女朋友的名字是什么,或者在每次查看管理面板时随机化这些问题。 也许您可以将管理部分放在一个大目录中,例如 但那不是很好哈。 也许您可以在主页中包含一个查询字符串,比如: 当它这样做时,用户名和密码字段将出现。 |
|
|
Michael · 某些Windows客户端上的命名管道安全问题 2 年前 |
|
|
adamency · 是否可以从Go二进制文件的源代码中检索字符串? 2 年前 |
|
|
AlboSimo · PayPal Api密钥安全 2 年前 |