zoukankan      html  css  js  c++  java
  • php中禁止非法调用和硬路径引入文件的方法

    php中禁止非法调用和硬路径引入文件的方法

    在php中有一些公共的文件为了方便,我们会做一个公共文件,让不用的文件共同调用。为了禁止公共文件被非常单独调用,
    可以在文件上做一个常量,禁止非常调用:
    在公共文件上定义一个常量如下

     define('custom_string',true);

    在要调用的文件里也加上一个判断来调用公共文件:

         if (!defined('custom_string')) {
                exit('非法调用');
            }

    一般地,要调用文件可以用include,include_once,require, require_once去调用了,但是从速度角度考虑,可以用硬路径去引入文件。
    在php中用魔法常量__FILE__可以获取文件的路径    ,用dirname(__FILE__);可以得到根目录地址,
    如引入header.php文件,可以用下面的方法引入:

    require dirname(__FILE__).'/filename.php';

    但是有时候经常调用这个dirnam可能会不方便,可以把空上路径转化为一个常量,方便去调用。

    php里的substr()函数可以截取出文件的根目录。可以这么把这个路径定义成一个常量:

    define('SITE_PATH',substr(dirname(__FILE__),0,-n));

    用负数可以让文件截取的时候从后面开始截取,n为公共文件存放的路径字符数量。比如公共文件存放相对路径为abc/includes/filename.php,则n的abc/includes的字符长度数:12。定义为常量之后可以直接用常量去引入路径:

    require SITE_PATH.'filename.php';
  • 相关阅读:
    梯度下降进阶
    梯度下降基础
    python---matplotlib
    python---numpy
    浅析Jupyter Notebook
    anaconda安装
    机器学习---导学
    python---线程与进程
    mapping values are not allowed in this context at line 115 column 10
    laravel进行单元测试的时候如何模拟数据库以及mockery的调用
  • 原文地址:https://www.cnblogs.com/xs-yqz/p/4335832.html
Copyright © 2011-2022 走看看