【问题标题】:Prevent direct access to .php files in .htaccess防止直接访问 .htaccess 中的 .php 文件
【发布时间】:2019-09-20 15:35:51
【问题描述】:

我想阻止直接访问php文件以防止bot攻击

使用以下 htaccess 代码将其完全关闭。 它对我不起作用

RewriteEngine on 
RewriteCond %{THE_REQUEST} \.php[\ /?].*HTTP/ 
(.*)\.php$ /index.html [L] 

【问题讨论】:

  • 如果您阻止直接访问,人类将如何访问这些 .php 文件?
  • 您应该只能通过 url 访问。 /folder/folder/example.php 而不是方向 /example
  • 您错过了第三行中的 RewriteRule 语法。 ?应该是RewriteRule (.*)\.php$ /index.html [L]
  • php代码与此代码不能互相访问。
  • 对不起,我没听懂。能具体一点吗?

标签: php .htaccess


【解决方案1】:

如果你希望只有服务器可以访问你的 php 文件,你可以使用这个:

<Filesmatch "\.(php)$">
    Require local
</FilesMatch>

【讨论】:

  • 以前从未见过Required 与该关键字一起使用,这是否记录在任何地方?在httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require 上找不到任何关于此的信息(我认为这可能只是部分解决方案,local 应该是这里的环境变量?那么必须根据请求的来源设置某个地方从,我不认为这是一个标准/默认的......?)
  • 你是对的。我也找不到。但几年前我在某个地方找到了它,它应该通过 ip 测试它是否是本地服务器。但它在我的网站上工作
  • 我找到了documentation
猜你喜欢
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 2016-03-04
  • 2011-07-23
  • 2010-09-29
  • 2012-09-16
相关资源
最近更新 更多