假设我有index.php和admin.php。
如果index.php中没有admin.php的链接,有没有办法知道页面admin.php存在,其他方法是尝试在浏览器中输入? (因为,当你没有index.php时,如果你没有在.htacess中禁用索引。可以看到服务器上的所有页面......)
如果不是,这意味着最好使用复杂的字符串(例如64字母数字字符串)而不是“admin.php”重命名我的管理页面,以便尝试admin.php的人将拥有404而不是我的管理页面? 有人试图暴力破解必须首先找到管理页面,然后破解密码?
答案 0 :(得分:3)
没有。除非你做一些愚蠢的事情,比如允许将脚本上传到服务器(一个人可以上传一个可以读取你所有文件的shell),或者你已经启用了索引。
您可以通过将以下内容放在服务器根目录下的.htaccess
文件中来禁用htaccess索引:
Options -Indexes
但是,有几种工具可以强制/尝试管理系统的常规名称(/admin.php
,/admin
,/wp-admin
等),这些名称可以找到admin.php
等名称非常容易。
最重要的是,如果您的安全性足够好(用户名/密码等),那么一个人是否可以看到您的admin.php
文件并不重要,这就是你应该追求的方法。
答案 1 :(得分:1)
我能弄明白的唯一方法很有趣,但这里是:
如果测试失败,验证用户的IP地址然后重定向(显然是服务器端)到一个不存在的页面呢?
这会让未经授权的用户认为该页面甚至不存在。然后,如果该用户可以发现他被欺骗并设法找到授权的IP(假设他也假装拥有此IP),那么您的登录安全性将会出现。