PHP培训常见问题
选课中心 APP下载
当前位置:首页 > 技能类 > PHP培训 > 常见问题 > PHP安全:单一入口

PHP安全:单一入口

更新时间:2020-10-12 17:45:21 来源:网络 阅读量:

【摘要】 考必过小编为大家整理了关于“PHP安全:单一入口”的信息,希望可以帮助到大家,下面我们就一起来看下“PHP安全:单一入口”的具体内容吧!

PHP安全:单一入口

PHP项目使用单一入口,用一个入口文件处理所有的HTTP请求和返回所有的请求数据。例如,不管是列表页还是文章页,都是从浏览器访问index.php文件,这个文件就是这个应用程序的单一入口。

1、实现方式

单一入口实现起来很简单,可以在访问index.php时使用一个特定的参数。例如index.php?action=list就是访问列表页,而index.php?action=single则是访问文章页。单一入口index.php的简单实现代码如下所示。

define('APP_NAME','APP'); // 入口常量

$modular="index"; // 默认模块

$active=SecurityFilter($_GET['action']); // 安全检测

if(!empty($active)) {

$modular=$active;

}

include('controller/'.$modular.'.php'); // 根据$action参数调用不同的代码文件,从而满足单一入口实现对应的不同功能

2、单一入口更安全

单一入口应用程序的所有请求都是通过index.php接收并转发到功能代码中的,所以在index.php中能完成许多实际工作。由于所有的请求都由index.php接收,因此可以进行集中的安全性检查。如果不是单一入口,那么研发人员就必须记住在每一个文件的开始加上安全性检查代码(当然,安全性检查可以写到另一个文件中,只需要用include语句即可)。

与安全性检查类似,在入口里,还可以对URL参数和POST进行必要的检查和特殊字符过滤、记录日志、访问统计等各种可以集中处理的任务。这样就可以看出,由于这些工作都被集中到index.php来完成,可以减轻维护其他功能代码的难度,对用户的请求更好地进行控制,很大程度上防止攻击者的非法入侵。单一入口可以使程序可读性更高,更容易维护,相对产生更少的BUG和安全漏洞,推荐使用这种方式进行项目研发和部署。为了防止恶意用户从非单一入口进入,需要在入口文件开头使用define定义入口常量。

define('APP_NAME', 'APP');//定义入口常量在非入口文件中用defined来检测用户是否从正常入口进入。如果没有检测到入口常量,则必须让PHP脚本立即停止执行。defined('APP_NAME') or exit(); // 入口常量检测,如果未定义,直接退出程序

以上就是考必过小编为大家整理的关于“PHP安全:单一入口”的相关信息,想了解更多考试最新资讯可以关注考必过。

分享到: 编辑:xiaojingjing

常见问题关键词