如何保护外部文件?

458*_*808 1 php security

我自己做了一个非常小的CMS.登录后,会话设置.

CMS包括某些图像,php页面等.

这些页面还可以包括将数据添加到数据库的表单.

现在的问题是你实际上可以使用一个地址来到显示表单的页面,即;

domain.com/mycms/includes/addpage.php

你会怎么建议保护这个?

注意:当我登录时,一切都必须工作,只是从外面它可能不会显示表单.我可以检查会话是否存在,但我想知道是否有更好更容易的方法.

Aro*_*eel 8

首先,如果您要包含PHP文件,那么您真的不应该将它们放在公共Web根目录中.

如果这是不可能的,另一种方法是在您中定义一个常量index.php(假设您将其用作主入口点)并检查是否在每个包含文件中设置了此常量,以防止直接访问这些文件.

例如:

// index.php:
define('INDEX_LOADED', true);

// /includes/addpage.php:
if (!defined('INDEX_LOADED')) die('no direct access allowed');
Run Code Online (Sandbox Code Playgroud)