Php 使服务器文件名不明确是否有助于安全?

Php 使服务器文件名不明确是否有助于安全?,php,server,Php,Server,我正在开发一个服务器调用文件名不明确的系统(用于移动应用程序)。例如,如果我有一个用户注册调用,则可以从r.php或df.php(随机)调用该文件。其逻辑(在系统最初构建时)是,这将有助于防止人们猜测文件名和滥用服务器调用 这真的有用吗?所有人需要做的就是启动数据包跟踪或使用反编译器来找出调用了什么HTTP请求。(事实上,任何想滥用HTTP请求的人都知道如何使用其中一种或两种“技巧”) 最重要的是,随着文件名的增长,保持所有文件名的有序变得很痛苦 将我们的注册文件简单地设置为registrati

我正在开发一个服务器调用文件名不明确的系统(用于移动应用程序)。例如,如果我有一个用户注册调用,则可以从r.php或df.php(随机)调用该文件。其逻辑(在系统最初构建时)是,这将有助于防止人们猜测文件名和滥用服务器调用

这真的有用吗?所有人需要做的就是启动数据包跟踪或使用反编译器来找出调用了什么HTTP请求。(事实上,任何想滥用HTTP请求的人都知道如何使用其中一种或两种“技巧”)

最重要的是,随着文件名的增长,保持所有文件名的有序变得很痛苦


将我们的注册文件简单地设置为registration.php或newUser.php是一种不好的做法吗?

简称为。默默无闻的安全不是安全

首先,文件名与发现请求URI关系不大,客户端UA总是以纯文本形式看到请求URI。因此,这里不需要包跟踪或“反编译器”来发现HTTP上的请求/响应数据

其次,当您考虑在登录系统中要防止的实际滥用类型(即暴力攻击、自动注册等)时,将端点URI随机化是无法防止的,因为它最终必须在一天结束时对客户端可见。无论你是否试图直接向他们隐瞒这一点对你都没有好处。主要是因为你能成功躲藏起来的人不是你害怕攻击你的人(也就是说,不是那些实际上可以对你的系统造成任何伤害的人)。这么说你还没有完成任何事情

相反,您需要的是可测量的机密(机密与安全工程实践中的模糊性有着巨大的区别),它可以阻止或防止篡改系统,而不管您是否了解系统的实现

举个例子,一个速率限制的登录系统。通过限制特定用户帐户或特定IP/范围的登录尝试次数,您可以有效阻止暴力攻击,足以阻止攻击者尝试。事实上,他们知道这个利率限制的存在并不一定会让他们试图绕过你的安全,因为利率限制仍然在你的系统的完全控制之下。然而,由于隐藏了一个端点URI,他们所需要做的只是检查HTTP请求/响应头以找到该URI,而您仍然处于无防御状态


[1]


[2]

这非常有用。我会调查可测量的秘密。