【问题标题】:.htaccess allow access to more than one file PHP.htaccess 允许访问多个 PHP 文件
【发布时间】:2018-12-18 01:46:06
【问题描述】:

我想允许访问三个文件(home.php、contact.php、login.php)。我还有一个文件夹,其中包含我想拒绝直接访问的资产(资产)。

这是我的代码,但它拒绝访问每个文件/文件夹。

Order deny,allow
Deny from all

<Files "home.php|contact.php|login.php">
    Order Allow,Deny
    Allow from all
</Files>

我看过 SO,但没有人讨论这个话题,所以这不是重复的。

谢谢

【问题讨论】:

  • 使用Deny From All 行创建.htaccess 文件并将该文件目录放入assets 文件夹中。
  • 感谢@MA,但如果我这样做了,那么我的 index.php 文件将无法从 assets 文件夹访问 css 和 js 以呈现页面样式
  • 然后你可以使用Files 指令来允许特定的文件类型,即css和js,就像你对php文件所做的那样。
  • 嗯,你能给我看一个例子吗@MA
  • 看看下面我的回答。

标签: php .htaccess


【解决方案1】:

此示例展示了如何只允许少数文件类型并拒绝其他请求。将此添加到您的 assets 文件夹中。

Order Allow,Deny

<FilesMatch "\.(html|css|js)$">
    Order Deny,Allow
    Allow From All
</FilesMatch>

【讨论】:

  • 谢谢 我可以通过我的 index.php 文件访问 assets 文件夹中的任何文件,当没有人可以直接访问它时?
  • 所有公共文件(包括 css 和 js)都由浏览器下载,因此如果您阻止对它们的访问,那么任何人都将无法访问它们,并且您的网站将无法按预期运行。
  • 很酷,但是我如何拒绝直接访问并只允许从 index.php 文件访问 assets 文件夹中的文件。我意识到上面的代码拒绝访问文件扩展名,但我需要从 index.php 文件中访问它
  • index.php 不需要这些文件,但客户端(浏览器)需要这些文件,因此如果您想阻止这些文件,它们将看不到任何内容,您的网站也将无法正常工作。跨度>
  • 谢谢,但是如果我有一个重要的 php 文件,我不想让任何人访问,除了我的 index.php 文件,我该怎么做
猜你喜欢
  • 2014-01-25
  • 1970-01-01
  • 1970-01-01
  • 2014-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-17
  • 1970-01-01
相关资源
最近更新 更多