htaccess拒绝所有禁用example.com表示为domain.com/index.php

时间:2017-11-28 14:15:28

标签: php apache .htaccess

我正致力于保护我的网络服务器。 我不希望人们能够执行他们不应该执行的文件。

我被告知我应该拒绝所有可以执行的白名单文件。 这样可行。问题是,当我访问我的domain.com时,它不会执行example.com/index.php。如果我输入example.com/index.php它可以工作。

这是我的htaccess文件

Options -Indexes

Order deny,allow
Deny from all

<Files /index.php>
Allow from all
</Files>

<Files "index.php">
Allow from all
</Files>
<Files "teacher_login.php">
Allow from all
</Files>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

1 个答案:

答案 0 :(得分:0)

你知道什么是阻止人们执行不应该执行的脚本的更好方法吗?

根本不要把它们放在网上。

public_html的这些脚本放在服务器上,突然间没有人可以访问它们!不需要.htaccess hacks就像你正在尝试的那样。更好的是,它们仍然可以访问服务器本身 - 例如。

require($_SERVER['DOCUMENT_ROOT']."/../hidden-scripts/something.php");

好多了。