如何防止用户看到"包含文件"?

kal*_*003 1 php

我的网站的主文件(index.php)代码在这里:

<?php 
include 'header.php';
include 'sidebar.php';
include 'content.php';
include 'footer.php';
?>
Run Code Online (Sandbox Code Playgroud)

但我不希望任何用户通过编写"www.domain.com/header.php"来查看这些包含文件.我应该在这些文件中插入php代码还是可以的?

Que*_*tin 9

你有几个选择.

  1. 将文件保留在webroot之外(因此它们不会自动获取自己的URI)
  2. 配置您的网络服务器,以便它拒绝为它们提供服务
  3. 测试是否设置了变量/常量,然后将其设置在允许包含它们的每个文件中.exit如果没有设置.


And*_*son 7

这是给你的PHP.

if(basename(__FILE__) == basename($_SERVER['PHP_SELF'])){exit();}
Run Code Online (Sandbox Code Playgroud)

简而言之,如果调用文件本身,则退出执行.

资料来源:http://thephpcode.blogspot.se/2009/07/creating-include-only-php-files.html