我有一个私人(= 我是唯一的用户)网站example.com/private/
。此主机上没有发布任何其他内容(这是我的域)。
我不想让任何人知道 有任何东西example.com
,尤其是我的私人网站。
现在让我们假设 Alice “猜测” URL 和访问example.com/private/
。当然,我通过要求登录来保护该站点,但我仍然不希望 Alice 知道有这样的站点,也不希望她尝试登录等。
我想知道以下方法是否可以帮助我:
使用 Firefox 插件RefControl,我可以设置一个自定义的Referer标头以仅用于对某个主机的请求。
对于9b2389Bqa0-ub712/bauUU-UZsi12jkna10712
任何对example.com
.
现在我检查访问者的Referer .htaccess
(不知道它是如何可能的,但我听说应该在Code Review SE上看到问题):
- 如果是
9b2389Bqa0-ub712/bauUU-UZsi12jkna10712
,不要做任何特别的事情(= 可以访问该站点) - 如果是别的东西,发送 HTTP 错误 404
我想可以显示一个假网站而不是 404,但就我而言,我不希望任何人看到/private
(存在)和/foobar
(不存在→404)之间的区别。
这行得通吗?有可能.htaccess
吗?这种方法有缺陷吗?有什么我应该改变的吗?有没有类似的方法?
更新和说明
- 整个主机使用HTTPS。
- 我不需要隐藏有服务器的事实,我只想隐藏有服务的内容。
感谢@Adnan将“似是而非的否认”一词发挥作用→我想要这个(客户端)!
一些建议使用难以猜测的 URL(例如附加到 URL 的秘密字符串):虽然这可能确实有效,但我认为使用 Referer 方法的优点是您不会意外泄露秘密(很容易)。URL 比 HTTP 标头更显眼:有人正在查看您的屏幕、意外发布的书签列表(不记得包含秘密 URL)、浏览器历史记录、在后台使用浏览器地址栏截取您的桌面,……。所以你又遇到了最初的问题:当爱丽丝“猜测”(或其他)URL时,如何隐藏有一个站点。
一些人建议使用外部(甚至更好的本地)登录页面。我喜欢这个主意。与 Referer 方法相比(如果它可以通过 实现
.htaccess
,我认为这是可能的),它的缺点是您可能需要调整站点的代码/CMS。有关 的讨论
.htaccess
,请参阅Code Review SE 上的问题正如@НЛО 指出的那样,自定义标题会更好。是的,我也这么认为。但是我还没有找到一个 Firefox 插件(请参阅关于 Super User 的问题)。