【问题标题】:How to hide a .php, .html or .text file from an external web user如何对外部网络用户隐藏 .php、.html 或 .text 文件
【发布时间】:2013-04-15 13:00:41
【问题描述】:

如果我打开我的 URL http://example.com/,它会显示我的所有子目录,如下所示

Index of /
•   data1.php 
•   data1.txt 

我希望任何网络用户搜索“http://example.com”,它会自动转发http://example.com/data1.php。通过这种方式,我想从外部网络用户隐藏我所有的 php、html 或 .text 文件。

【问题讨论】:

  • 您需要配置您的网络服务器。
  • 您可以在您的网络服务器上直接禁止列表。此外,您可以创建一个默认页面来代替目录列表加载。至于“隐藏”您的文件,请理解,如果您让它们无法访问,那么人们将无法访问它们。
  • 你可以将 data1.php 重命名为 index.php
  • 不知何故我觉得告诉你Options -Indexes不会有太大帮助。正如 SLaks 已经说过的,您需要配置您的网络服务器。如果它的 apache 或 iis 或其他,请阅读这些选项。您想要的一切都可以通过非常小的努力实现
  • @phpNoOb .htaccess 是配置 Web 服务器的一种方式。

标签: php


【解决方案1】:

您需要在 Web 根目录中有一个 .htaccess 文件,并将其保留为第一行

DirectoryIndex home.php

您还可以在 httpd.conf 文件中进行更改

<IfModule dir_module>  #Keep adding pages here, it will read from left to right
    DirectoryIndex index.php index.php3 index.html index.htm
</IfModule>

但你最好改用.htaccess


不是必需的,但您可能还想拒绝列出您可以使用的目录

#Block Directory Listing
IndexIgnore *

【讨论】:

  • @nur2544 欢迎您,如果这对您有帮助,请将答案标记为正确:)
  • 我该如何测试这个?如何尝试通过浏览器访问文件?
【解决方案2】:

如果您有权编辑主配置文件

编辑文件 httpd.conf 和 srm.conf 文件并执行以下操作:

  • 找到这一行。

    DirectoryIndex index.html
    
  • 如下修改:

    DirectoryIndex index.shtml index.html 
    

当然,您可以使用任何您想要的文件名。我更喜欢将 index.html 保留为有效索引。

使用 .htaccess 更改默认页面

如果您无法编辑您的主配置文件,您可以使用 .htaccess 中的此指令。只需编辑位于您的主 HTML 目录中的 .htaccess 文件。如果您没有此文件,请随意创建它!

要更改默认页面,请编辑现有的 DirectoryIndex 行或添加以下内容:

DirectoryIndex index.shtml index.html 

这将使 index.shtml 成为默认页面。

通过在子目录中使用 .htaccess 文件,您可以为该目录指定不同的默认页面,而不会影响站点的其余部分。

字体:http://bignosebird.com/apache/a2.shtml

【讨论】:

  • 您好奥斯瓦尔德,感谢您的回复。我明白你的意思,我会按照你说的解决我的问题。
猜你喜欢
  • 1970-01-01
  • 2012-10-12
  • 1970-01-01
  • 2011-10-05
  • 1970-01-01
  • 2019-11-16
  • 2013-09-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多