夺命雷公狗---Thinkphp----9之中间层的创建,防止跨目录访问

我们创建一个CommonController.class.php的中间层,让后让别的控制器都直接继承CommonController这个控制器即可决解跨目录访问的问题,

<?php
    namespace Admin\Controller;
    use Think\Controller;
    header("Content-Type:text/html;charset=utf-8");
    class CommonController extends Controller{
        //这个方法主要解决别人跨目录访问后台
         public function _initialize(){
            if(!session(‘?admin‘)){
                $this -> redirect("Login/login",array(),3,‘请登录后再进入‘);
            }
        }

    }

看下session里面是否记载这admin管理员名字了,因为每当管理员登录的时候我们都是需要利用session记录这管理员的名字和id的,所以我们在这里可以直接通过session记录这admin管理员名即可

时间: 2024-12-29 01:41:23

夺命雷公狗---Thinkphp----9之中间层的创建,防止跨目录访问的相关文章

夺命雷公狗ThinkPHP项目之----商城8商品品牌管理

本章的主要目标是为了对商品品牌进行CRUD(增删改查)操作. 我们在写的时候就要了解业务逻辑,也就是了解表结构 每个字段代表什么含义,为什么是这个类型的 logo:保存的是图片,一般是分两个途径来保存的, 1.保存图片的本身,保存在目录之下 2.将图片的路径保存到数据表中 我们先创建一个名字为BrandController的控制器,和在view视图里面创建一个Brand的文件夹来进行存放模版文件,如下图所示: 然后将add里面的css和图片路径该下即可代码如下: <!DOCTYPE html P

夺命雷公狗ThinkPHP项目之----商城10商品属性管理

我们一般做项目前就要分析业务逻辑先,这次也不例外. attr_type:是指属性的类型,有唯一,单选和多选之分 唯一属性,是指用户在购买商品时,可以看到的扩展属性如下图所示: 单选属性,是指用户在购买的时候,不需要选择的扩展属性,否则就无法购买,如下所示: 多选和单选是对应的,但是可以选择多个,但是单选的只能选择一个,否则就无法购买. attr_input_type:是指属性的输入方式,有文本框,下拉列表和文本域之分,如下图所示: attr_value:是指如果属性是下拉形式的,应该提供可选值.

夺命雷公狗ThinkPHP项目之----企业网站22之网站前台中间层(解决代码冗余)

我们如果这样写代码虽然可以实现头部二级分类的显示,但是如果再别的控制器下那么会出现显示不了.. 如果再加多一段一样的代码也可以实现出一样的效果: 但是这样会导致代码冗余现象,所以我们为了解决这个问题,可以通过一个中间层来处理,所以我们创建一个CommonController.class.php的控制器来实现解决代码冗余的一部分问题: <?php namespace Home\Controller; use Think\Controller; class CommonController exte

夺命雷公狗ThinkPHP项目之----商城6后台首页

废话步多说,我们开工, 首先我们将thinkphp文件都解压到环境目录下的shop文件夹下 然后将里面多余的东西都干掉,留下public文件夹和thinkphp文件夹,即可,别的东西干掉, 然后我们新建一个名字叫index.php的文件,里面的配置文件可以按以下方法进行自定义: <?php // 定义项目目录 define("APP_PATH",'./Shop/'); // 开启调试 define("APP_DEBUG",true); // 引入ThinkPH

夺命雷公狗ThinkPHP项目之----企业网站30之网站前台头部导航的高亮显示

我们这个其实也是最简单的一个,首页高亮,那么我们需要先在中间层里面定义一个index = false: 然后在首页控制器里面定义一个 index = true 最后一步就是 在首页的模版上给一个判断: 这样效果即可实现出来了:

夺命雷公狗ThinkPHP项目之----企业网站1之快速搭建后台

我们还是老规矩照老方法,将框架里面多余的东西都干掉,然后在index.php里面将框架搭建起来 <?php //定义项目目录 define('APP_PATH','./WEB/'); //开启调试 define('APP_DEBUG',True); //包含thinkphp项目入口文件 require "Thinkphp/Thinkphp.php"; 然后进入WEB目录下,并复制一个Home然后改名为Admin 然后再Index控制器下进行操作 代码如下所示: <?php

夺命雷公狗ThinkPHP项目之----企业网站28之网站前台左侧导航的实现

我们基于刚才在model层的找顶级分类的代码在进行修改即可: <?php namespace Home\Controller; use Think\Controller; class CommonController extends Controller { function __construct(){ //继承父类的构造方法,所以网站在执行的时候会先执行他 parent::__construct(); //头部二级分类的显示 开始 $mod = M("Category");

夺命雷公狗ThinkPHP项目之----企业网站8之栏目的添加完善(无限极分类的完成)

我们刚才只是完成了添加的一部分,但是我们的上级分类也不能永远都是只有一个死的嘛,所以我们需要对她进行修改: 我们先将add方法里面的数据查出来再说: 然后在模板页进行遍历: 展示效果如下所示: 虽然是出现了,但是没有向我们平常时候见到的无限极分类一样噢,一般比如分类 多多,分类下面的 好多美女啊 是多多的下级分类,那么好多美女啊他前面是有几个空格之类的隔开, 那么我们就需要在model层里面对她进行排序的设置了: <?php namespace Admin\Model; use Think\Mo

夺命雷公狗ThinkPHP项目之----企业网站4之数据库连接

我们众所周知,我们在开发的时候网站是需要连接上我们的数据库的,毕竟数据库是网站的最核心之一嘛,废话不多说直接开干.... 我们先找到:config.php文件对她进行修改,因为我们网站前后台都用到数据库,所以我们直接在yao\WEB\Common\Conf下找到config.php前后台共享的文件里面修改下数据库配置即可.. 代码如下所示: <?php return array( //'配置项'=>'配置值' //系统中允许访问的模块(前后台) 'MODULE_ALLOW_LIST' =>

夺命雷公狗ThinkPHP项目之----企业网站14之文章修改页的完成

这个其实也是挺容易的,我们思路先将栏目页给遍历出来: 这里用了catTree的方法,因为我们要对遍历出来的数据进行排序的,然后来到前端进行完成列表: <!doctype html> <html> <head> <meta charset="UTF-8"> <title>后台管理</title> <link rel="stylesheet" type="text/css"