PHP:阻止浏览器请求

PHP:阻止浏览器请求,php,security,Php,Security,我的网站由许多页面组成,这些页面分为两类,一类是“html”文件,另一类是“核心”文件,其中包含“html”文件所需的函数和服务器端代码,它们的两个PHP文件 有一种情况是“核心”文件不能从“html”文件请求,我想阻止这种情况 我希望“核心”文件只有在“html”文件请求时才能打开,否则会显示404错误,这可能吗 注*:我前面说过,“html”和“核心”文件都是PHP文件 提前谢谢你 您可以通过服务器设置对其进行控制,或者最好将其从文档根目录中移出。您可以使用.htaccess来限制对相关文件

我的网站由许多页面组成,这些页面分为两类,一类是“html”文件,另一类是“核心”文件,其中包含“html”文件所需的函数和服务器端代码,它们的两个PHP文件

有一种情况是“核心”文件不能从“html”文件请求,我想阻止这种情况

我希望“核心”文件只有在“html”文件请求时才能打开,否则会显示404错误,这可能吗

注*:我前面说过,“html”和“核心”文件都是PHP文件


提前谢谢你

您可以通过服务器设置对其进行控制,或者最好将其从文档根目录中移出。

您可以使用.htaccess来限制对相关文件的访问

例如,如果“核心文件”的扩展名是.php,而其他所有文件的扩展名都是.html,则可以添加到.htaccess,例如:

<Files ~ "\.php$">
Order allow,deny
Deny from all
</Files>

命令允许,拒绝
全盘否定
或者,如果您的所有“核心文件”都在一个目录中,您可以通过输入

<Directory ~ "\core">
Order allow,deny
Deny from all
</Directory>

命令允许,拒绝
全盘否定

记住让AllowVeride All让apache使用您指定的.htaccess。

在核心中生成验证代码

比如,验证一个常量“html”,如果定义了,那么运行代码,如果没有,那么抛出404错误

如果您使用的是apache服务器,另一种方法是阻止使用htaccess

HTML(php文件)

核心(php文件)


这实际上是一个服务器设置,而不是一个PHP问题。可能想把它带到另一个StackExchange站点我实际上对服务器一无所知,如果可以的话,我对用php做这件事很感兴趣。正如我在文章中所说,它们都是php文件,称为“html”文件,因为它们包含html代码。我会考虑我的选择,如果我没有PHP,我会去HTAccess,谢谢你的快速重播。您可以将核心文件重命名为.inc.php,并按照上面指定的方式应用限制,或者将它们移动到单独的目录中并进行限制。GabrielGartz提到的定义概念也是一个可行的解决方案
define('HTML');
if(!defined('HTML')) { /* Display 404 error */ }