【问题标题】:How do i make folder on server secure?如何使服务器上的文件夹安全?
【发布时间】:2014-05-22 19:04:57
【问题描述】:

我正在本地计算机上创建一个网站,但没有数据库系统。

对于每个进入页面的用户,我都会创建一个以他们的 IP 地址为名称的文本文件。 因此,当我访问托管在我的计算机上的网站时,PHP 脚本会创建一个文件 hits/127.0.0.1.txt。

该文件包含一些敏感信息,我不想让我的 PHP 脚本访问这些文件。

当我写“localhost/mysite/hits/”时,我可以访问所有文本文件和信息。 我想防止这种情况发生,这样当我发布网站时人们就看不到它了

我该怎么做?

顺便说一下,我创建了这个文件来使用它来计算访问者数量,看看我什么时候获得了最多的访问者。

【问题讨论】:

  • 你试过的代码?你愿意分享吗?
  • 你在重新发明轮子。不好的方式。为什么不使用 Analytics 或其中一种日志分析器?
  • @JayBlanchard 我还没有尝试任何东西,只是想了大约 30 分钟。
  • @MarcinOrlowski,我已经完成了 hitcounter,我只需要知道如何防止人们访问文件。
  • 查看 .htaccess 文件

标签: php security directory hitcounter


【解决方案1】:

这取决于您的网络服务器

阿帕奇:

需要在目录中插入一个.htaccess文件,内容为deny from all

https://stackoverflow.com/a/9282193/2441442

IIS:

您需要一个文件web.config 来配置请求过滤:

<configuration>
   <system.webServer>
       <security>
          <requestFiltering>
               <hiddenSegments>
                   <add segment="My_Directory" />
               </hiddenSegments>
           </requestFiltering>
       </security>
   </system.webServer>
</configuration>

https://stackoverflow.com/a/4038572/2441442

Nginx:

你在你的配置中写:

location ~ /(dir1|dir2|dir3) {
   deny all;
   return 404;
}

由于Nginx(Performance)的后台需要重启服务器。配置只加载一次。

https://serverfault.com/a/232706/220399

所有其他

http://bit.ly/1ktwZHG

【讨论】:

  • @JayBlanchard 我已经改进了我的答案。
  • 感谢您的帮助,效果很好:) 我会尽快接受您的遮阳篷。
【解决方案2】:

您可以尝试在文件夹中创建一个 .htaccess 文件并在 .htaccess 脚本中拒绝所有内容

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-18
    • 2013-11-14
    • 1970-01-01
    • 2017-02-09
    • 2019-12-12
    • 1970-01-01
    • 2017-02-15
    相关资源
    最近更新 更多