Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重命名admin.php是否更安全?_Php - Fatal编程技术网

重命名admin.php是否更安全?

重命名admin.php是否更安全?,php,Php,假设我有index.php和admin.php 如果index.php中没有指向admin.php的链接,是否有其他方法可以通过尝试在浏览器中键入admin.php页面来确定该页面是否存在? (因为,当您没有index.php,并且如果您没有在.htacess.php中禁用索引,您可以看到服务器上的所有页面…) 如果否,这意味着最好使用复杂字符串(例如64个字母数字字符串)而不是“admin.php”重命名我的管理页面,这样尝试admin.php的人将使用404而不是我的管理页面? 试图使用暴力

假设我有index.php和admin.php

如果index.php中没有指向admin.php的链接,是否有其他方法可以通过尝试在浏览器中键入admin.php页面来确定该页面是否存在? (因为,当您没有index.php,并且如果您没有在.htacess.php中禁用索引,您可以看到服务器上的所有页面…)

如果否,这意味着最好使用复杂字符串(例如64个字母数字字符串)而不是“admin.php”重命名我的管理页面,这样尝试admin.php的人将使用404而不是我的管理页面?
试图使用暴力的人必须先找到管理员页面,然后破解密码?

不。除非你做了一些愚蠢的事情,比如允许向服务器上传脚本(在这个过程中,一个人可以上传一个可以读取你所有文件的shell),或者你启用了索引功能

您可以通过在服务器根目录下的
.htaccess
文件中放置以下内容来禁用htaccess索引:

Options -Indexes
但是,有几种工具可以强制/尝试管理系统的常规名称(
/admin.php
/admin
/wp admin
等),它们可以很容易地找到诸如
admin.php
之类的名称


但是,最重要的是,如果您的安全性足够好(用户名/密码等),那么一个人是否可以看到您的
admin.php
文件并不重要,这是您应该遵循的方法。

我能找到的唯一方法非常有趣,但这里是:

如果测试失败,验证用户的IP地址然后重定向(显然是服务器端)到一个不存在的页面怎么样


这会让未经授权的用户认为该页面根本不存在。然后,如果该用户能够发现他被欺骗并设法找到一个授权IP(假设他也假装拥有该IP),那么您的登录安全性就会受到影响。

file_exists()?是_file()?如果安全性良好,则无需隐藏表单。正如您所说,确保所有目录中的索引都已关闭,除非明确需要。我不知道您在这里试图实现什么。不。我是从用户的角度讲的。他无法在您的服务器上运行代码。不,没有办法,但“盲目搜索”意味着通过键入来尝试猜测。这是否意味着如果您的管理员页面是一个复杂的url,它会更安全?因为暴力需要找到你的页面,然后再找到密码。不,它仍然可能被暴力破解,如果你缺乏安全性,那么任何有链接的人都可能意外地将链接发布到公众视线,从而打开你的整个管理界面。@h2ooooooo,我相信OP是指它作为一个额外的安全层,在通常的用户名/密码之上。我个人不认为这是必要的,但如果我有一辆车,我把它放在街上或者丛林里,这样做也没什么坏处。主要的安全点是关于门锁。但我还要补充一点,这也是一种额外的安全措施,因为有机会尝试黑客的人会越来越少。我同意这可能是暴力,但这需要一定的时间。如果管理员url是64个字母数字字符串,则需要先找到它,然后强制输入密码。对我来说,它增加了安全性?我遗漏了什么吗?这可以用一个简单的方法来完成。不过,您必须自己复制Web服务器的常规404页HTML,否则很容易看出区别。