我的网站由许多页面构建,这些页面分为两类,一类是"html"文件,另一类是包含"html"所需的函数和服务器端代码的"核心"文件,它们都是PHP文件。
有一种情况是,可以请求"核心"文件,而不是从"html"文件,我想阻止这一点。
我希望"核心"文件只有在"html"文件请求的情况下才能打开,否则会显示404错误,这可能吗?
注意*:我前面说过,"html"answers"core"文件都是PHP文件。
提前感谢!
在Core中生成验证代码。
有点像,验证一个常量"html",如果它被定义了,那么运行代码,如果没有,那么抛出404错误。
http://br2.php.net/manual/pt_BR/function.constant.php
如果您使用的是apache服务器,另一种方法是阻止使用htaccess。
HTML(php文件)
define('HTML');
核心(php文件)
if(!defined('HTML')) { /* Display 404 error */ }
您可以使用.htaccess来限制对相关文件的访问。
例如。如果"核心文件"的扩展名是.php,而其他所有文件的扩展名都是.html,那么您可以向.htaccess添加类似的内容
<Files ~ "'.php$">
Order allow,deny
Deny from all
</Files>
或者,如果你所有的"核心文件"都在一个目录中,你可以通过输入来限制访问
<Directory ~ "'core">
Order allow,deny
Deny from all
</Directory>
请记住,为了让apache使用您指定的.htaccess,请使用AllowOveride All。
您可以通过服务器设置来控制它,也可以更好地将它们从文档根目录中移出。