我有某些文件,如 header.php
和 footer.php
。我想禁止从浏览器地址栏直接请求这些文件。
如果我在代码中有 include 'file.php'
,那么它应该被包含,但如果它是直接请求的,我不希望它显示,因为它没有任何用处。是否可以?
提前致谢:)
最佳答案
您可以按照可取性(从“好”到“它有点管用”)的顺序执行以下任何操作:
- 在您的网络根目录之外创建它们。例如,假设
/somepath/example.com/htdocs/
映射到http://example.com/
:
/somepath/example.com/htdocs/index.php
/somepath/example.com/includes/header.php
/somepath/example.com/includes/footer.php
索引.php:
<?php require_once('../includes/header.php') ?>
- 阻止通过 .htaccess 访问
<Files (header|footer).php>
Deny from all
</Files>
- (如果其他一切都失败了,就 hack)在主文件中设置一个常量,如果找不到则静默死去。
索引.php:
<?php define('INCLUDED_FROM_MAIN_FILE_EXAMPLE_COM',true) ?>
header.php:
<?php if (!defined('INCLUDED_FROM_MAIN_FILE_EXAMPLE_COM')) { die(); }
关于php - 有什么办法可以防止请求 .php 文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3265465/