【问题标题】:Hiding a SINGLE File (Apahe)隐藏单个文件 (Apahe)
【发布时间】:2015-02-07 18:19:17
【问题描述】:

我有一个 HTML 文件,其中充满了来自 PHP 脚本的 IP 地址,该脚本记录了所有访问的 IP。唯一的事情是我不希望人们能够去 https://mydomain.us/ips.html 查看所有记录的 IP。隐藏此 ONE 文件的选项有哪些。

我使用您在 .htaccess 中输入的代码阅读了所有这些内容,但它们都不起作用!

我需要的只是隐藏这个 HTML 文件的方法!

对不起,如果这也是一个不好的问题,我对这一切真的很陌生:P

PHP 脚本: (用于写入 HTML 文件) http://pastebin.com/jKDHeArb

最终输出 (ips.html) http://imgur.com/VWPmuSt

【问题讨论】:

  • 你能用 PHP 做吗?如果您可以添加一行 php,我有一个解决方案。
  • 是的!我能做到!
  • 我在上面添加了我的 PHP 脚本!
  • 并且我添加了生成的HTML页面!
  • 我建议您使用“代码”格式在问题中包含代码的相关部分和所需/最终输出,而不是使用指向其他页面的超链接。

标签: html apache .htaccess file hide


【解决方案1】:

我建议你把这个页面放在一个文件夹里,并用密码保护它。这里或互联网上有很多例子。 但是就像您并不是真的想阻止页面,而只是隐藏,您可以通过在链接末尾添加代码来做到这一点。使用这个根 .htaccess:

RewriteEngine on 
RewriteCond %{HTTPS} off [OR]
RewriteCond %{QUERY_STRING} !^c=pass$ [NC]
RewriteRule ^ips\.html$ - [NC,F,L] 

只有通过以下https链接才能访问该页面:

https:// mydomain.us/ips.html?c=pass

你可以在 php 代码中做同样的事情。

【讨论】:

  • 当我把它放在.htaccess中时,我仍然可以正常到达那里!你的意思是:你可以在php代码中做同样的事情?
【解决方案2】:

您可以将其添加到 .htaccess 或您的 Vhost

<Files ~ "ips.html"> Order allow,deny Deny from all </Files>

【讨论】:

  • 嗯,我将它添加到 .htaccess 并重新启动了 apache,我仍然可以从 domain.com/ips.html 访问它
  • 我仍然可以访问 ips.html :(
  • 你在哪里写的?如果您使用的是 htaccess,您可能必须启用 AllowOverride AllowOverride All
  • 是的,我正在使用 htacess,我刚刚添加了“AllowOverride All”但我仍然可以访问 ips.html
  • 您必须在全局 apache 配置文件或您的虚拟主机中更改 AllowOverride All,然后重新启动 apache 您还可以测试执行 test.txt 文件并使用我给您的代码禁用访问,只需将 ips.html 更改为 test.txt
猜你喜欢
  • 1970-01-01
  • 2021-05-02
  • 1970-01-01
  • 2011-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-10
相关资源
最近更新 更多