MVC -单一入口与路由
来源:互联网 发布:淘宝crm 编辑:程序博客网 时间:2024/06/05 16:30
一、单一入口
名词解释
单一入口:控制web应用程序访问只有有限个入口
例:博客项目控制单一入口
--
<?phpsession_start();include './global.php';$control = './Controller/'.$_GET['action'].'.php';if (!file_exists($control)){ die('404 Not Found Error!');}$allows = ['login','login_action'];if (!in_array($_GET['action'],$allows) and empty($_SESSION['Admin'])){ die('NO LOGIN!'); }include "$control";
其中,$allows为限制访问,if条件控制。
当用户未登录情况下,只能访问login.php与login_action.php文件。
但是,目前的情况下,用户仍然可以通过直接访问文件目录访问页面,如index.php
为彻底规避用户访问,有两种方法:
1、在bootstrap.php文件中定义常量
defined('START',true);
在各个非入口文件设置:如在index.php中添加
if(!defined('START')) die('非法访问');
2、在nginx限制目录
用表达式限制
3、进一步优化
首先:try_files 查找文件
如果找不到,交给bootstrap.php处理
效果:
链接地址随便写,都指向bootstrap.php
4、url伪装
代码改成
访问变成
二、路由
不希望URL地址跟文件直接关联,实现间接关联
$router=[ '/^\/main$/' => './Controller/index.php', '/^\/content/' => './Controller/content.php', '/^\/login/' => './Controller/login.php',];foreach ( $router as $key => $value) { if (preg_match($key,$_SERVER['DOCUMENT_URI'])){ $controll = $value; break; }}效果:
1、正向路由 router分离(反向路由,通过文件得到链接地址)
0 0
- MVC -单一入口与路由
- MVC--之单一入口+例子
- mvc入口文件和路由
- MVC前提之单一入口+例子
- 单一入口、MVC、ORM、CURD、ActiveRecord概念
- MVC单一入口设计思想 session入库 svn与git SAE
- 单一入口
- PHP单一入口概述与优缺点分析
- 浅谈MVC之入口文件&&路由
- OOP MVC ORM CURD ActiveRecord 单一入口 的概念
- 单一入口应用程序
- php 单一入口实现
- php单一入口
- PHP 单一入口程序
- PHP 单一入口
- 单一入口机制
- 解读php框架codeigniter是如何实现mvc模式以及单一入口
- php框架codeigniter是如何实现mvc模式以及单一入口
- Nginx安装、以及反向代理、负载均衡、资源动静分离简介
- 数据结构(三)栈1:栈的基本运算
- 字符串缓冲类
- Angular.js watch Method introduction
- LinuxMint和Windows双系统中时间不一致
- MVC -单一入口与路由
- getElementsByClassName用法
- 虚拟机的ubuntu安装配置搜狗拼音输入法
- 随手翻HTML+CSS笔记
- LinuxMint下安装myeclipse2014并破解
- xUtils的使用(二)
- 使用Dockerfile构建MyEclipse创建的JavaWeb项目 - 知识林
- 硬盘用Paragon Alignment Tool不能4K对齐解决方法
- Pycharm使用快捷键介绍