在PHP中保护包含文件
在任何PHP程序中都包含文件是一种非常普遍的做法,而且并没有什么不同寻常。但是,当用户导航到具有功能的脚本文件时,可能会出现问题,但该脚本文件应包含在较大的程序中。例如,如果您的系统包含一个用于删除某些内容的文件,那么如果该文件本身运行,那么就有可能删除所有内容。
当然,还有其他因素,例如数据库访问,全局变量和会话,可能会导致任何脚本简单地出错而不会引起问题。但是,优良作法是确保任何包含文件仅在包含时才运行,而不是在单独运行时才运行。
下面的一些代码片段可以放在任何包含文件的顶部,以确保它不能在包含之外运行。在此示例中,该文件将称为“test.php”。
if ( preg_match("/test\.php/", $_SERVER['PHP_SELF']) ) {
exit;
}如果当前文件名(通过$_SERVER[“PHP_SELF”]找到)不存在,test.php则脚本将直接退出。如果包含该文件,则此$_SERVER将是包含该文件的文件的名称。
可以添加另一个步骤,以确保文件仅包含在正确的文件中。如果$_SERVER[“PHP_SELF”]变量不是search.php,以下代码片段将导致脚本退出。
if ( !preg_match("/search\.php/", $_SERVER['PHP_SELF']) ) {
exit;
}热门推荐
10 诗词送行祝福语大全简短
11 新房开工吉日祝福语简短
12 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短