zoukankan      html  css  js  c++  java
  • 给用户传入的变量进行转义操作

    先看代码实现:

    /* 对用户传入的变量进行转义操作。*/
    if (!get_magic_quotes_gpc())
    {
        if (!empty($_GET))
        {
            $_GET  = addslashes_deep($_GET);
        }
        if (!empty($_POST))
        {
            $_POST = addslashes_deep($_POST);
        }
    
        $_COOKIE   = addslashes_deep($_COOKIE);
        $_REQUEST  = addslashes_deep($_REQUEST);
    }
    
    /**
     * 递归方式的对变量中的特殊字符进行转义
     *
     * @access  public
     * @param   mix     $value
     *
     * @return  mix
     */
    function addslashes_deep($value)
    {
        if (empty($value))
        {
            return $value;
        }
        else
        {
            return is_array($value) ? array_map('addslashes_deep', $value) : addslashes($value);
        }
    }

    函数解释:

    get_magic_quotes_gpc() :

    功能: 取得 PHP 环境变数 magic_quotes_gpc 的值。

    语法: long get_magic_quotes_gpc(void);

    传回值: 长整数

    函式种类: PHP 系统功能

    本函式取得 PHP 环境设定的变数 magic_quotes_gpc(GPC, Get/Post/Cookie) 值。传回 0 表示关闭本功能;传回 1 表示本功能开启。当magic_quotes_gpc 开启时,所有的 '(单引号), " (双引号), \(反斜线) 和 空字符会 自动转为含有反斜线的溢出字符。

    get_magic_quotes_gpc的功能为: 是否为GET、POST、COOKIE传来的数据中的‘ 单引号 “”双引号 \反斜线 加上反斜线

    如果get_magic_quotes_gpc = ON ,则返回1,PHP解析器就会自动为post、get、cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序,特别 是数据库语句因为特殊字符引起的污染而出现致命的错误。

     

     addslashes() :

    功能: 使用反斜线引用字符串

    语法: string addslashes ( string str)

    返回值: 返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(')、双引号(")、反斜线()以及(NULL 字符)。

     

     

  • 相关阅读:
    Spring Boot笔记
    Mybatis笔记
    SpringBoot学习笔记(6)Mybatis整合
    SpringBoot学习笔记(5)Druid连接池
    Authentication plugin 'caching_sha2_password' cannot be loaded的解决方案
    docker笔记
    SpringBoot学习笔记(2)配置文件
    SpringBoot学习笔记(1)入门
    Java中IoC、AOP、Bean、PO、VO、DTO、EJB、POJO等常见概念简述
    用MySQL实现微博关注关系的方案分析(转)
  • 原文地址:https://www.cnblogs.com/zjfazc/p/2708757.html
Copyright © 2011-2022 走看看