有没有办法阻止请求.php文件?

TCM*_*TCM 2 php

我有像header.php和的某些文件footer.php.我想禁止从浏览器地址栏直接请求这些文件.

如果我include 'file.php'在代码中,那么它应该包括在内,但是如果它是直接请求的,我不希望它被显示,因为它没有用处.可能吗?

提前致谢 :)

Pis*_*3.0 9

你可以按照可取的顺序做任何这些事情(从"好"到"它的作品"):

  • 在Web根目录之外创建它们.例如,假设/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

index.php文件:

<?php require_once('../includes/header.php') ?>
Run Code Online (Sandbox Code Playgroud)
  • 通过.htaccess阻止访问

<Files (header|footer).php>
Deny from all
</Files>

  • (如果其他一切都失败了,那么在主文件中设置一个常量,如果没有找到则静默死掉).

index.php文件:

<?php define('INCLUDED_FROM_MAIN_FILE_EXAMPLE_COM',true) ?>

header.php文件:

<?php if (!defined('INCLUDED_FROM_MAIN_FILE_EXAMPLE_COM')) { die(); }

  • 我认为这些建议几乎是为了满足需求.理想的做法是将您不希望直接访问的文件完全保留在Web根目录之外. (2认同)