首页 > 编程语言 >php 数据安全性(过滤提交的数据)

php 数据安全性(过滤提交的数据)

时间:2024-01-10 12:13:09浏览次数:23  
标签:keyword 过滤 result var php 数据 id

1.在common.php公共方法加入

 /**
     * 过滤sql与php文件操作的关键字
     */
     function filter_keyword( $string ) {
        $keyword = 'select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile';
        $arr = explode( '|', $keyword );
        $result = str_ireplace( $arr, '', $string );
        return $result;
    }

    /**
     * 检查输入的数字是否合法,合法返回对应id,否则返回-1
     */
     function check_id( $id ) {
        $result = -1;
        if ( $id !== '' && !is_null( $id ) ) {
            $var =filter_keyword( $id ); // 过滤sql与php文件操作的关键字
            if ( $var !== '' && !is_null( $var ) && is_numeric( $var ) ) {
                $result = intval( $var );
            }
        }
        return $result;
    }
 
    /**
     * 检查输入的字符是否合法,合法返回对应id,否则返回-1
     */
    function check_str( $string ) {
        $result = -1;
        $var = filter_keyword( $string ); // 过滤sql与php文件操作的关键字
        if ( !empty( $var ) ) {
            if ( !get_magic_quotes_gpc() ) {    // 判断magic_quotes_gpc是否为打开
                $var = addslashes( $string );    // 进行magic_quotes_gpc没有打开的情况对提交数据的过滤
            }
            //$var = str_replace( "_", "\_", $var );    // 把 '_'过滤掉
            $var = str_replace( "%", "\%", $var );    // 把 '%'过滤掉
            $var = nl2br( $var );    // 回车转换
            $var = htmlspecialchars( $var );    // html标记转换
            $result = $var;
        }
        return $result;
    }

2.在控制器中使用

        $post=request()->only(['kid','id']);
        $check_id=check_id($post['kid']);
        if($check_id >=0){
            //$res=db('singlepage')->where('id',10)->value('content');
            //$this->assign('res',$res);
            //return $this->view->fetch('contacts/index');
        }else {
            halt('<h1>请检查参数</h1>');
        }    

 

标签:keyword,过滤,result,var,php,数据,id
From: https://www.cnblogs.com/zhangyouwu/p/17956201

相关文章

  • 基于多节点多传感器融合的可穿戴无线数据采集系统架构解析
    前记 随着无线和传感器技术的不断进步,无线设备在逐步朝着小型化,可穿戴领域发展,在一些医疗健康以及科研领域。需要对多个节点做传感器监测。因此,基于多传感器节点融合的可穿戴设备可以解决很多行业问题。比如,生理信号的遥测,风力发电机运行状态的遥测。新能源电池生产过程中故障......
  • 快乐学Python,数据分析之获取数据方法「公开数据或爬虫」
    学习Python数据分析,第一步是先获取数据,为什么说数据获取是数据分析的第一步呢,显而易见:数据分析,得先有数据,才能分析。作为个人来说,如何获取用于分析的数据集呢?1、获取现成的数据集获取数据集的第一种方式,就是获取行业上已经有人整理好的数据集。目前大数据行业持续火爆,数据本身已......
  • php rsa加密(非对称)实例 以及使用哈希256进行加密
    functiongetEncryptionUserID($client_secret):string{$str="-----BEGINPUBLICKEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpw/k/rPHx4c1nEO8lQr8Fkz2MMTnqNbspRox1f2snoDNcssTQxg9TyBOMujQy14eRibKE+X+qPVeZJyyfruTrtvB4EomJL7v4URcacg7H00A2HL1nf7......
  • 数据资产入表:工业数字化新机遇
    来源:中国工业新闻网作者:工业互联网周刊副主编耿鹏飞1月1日,《企业数据资源相关会计处理暂行规定》(以下简称《暂行规定》)正式实施。企业数据资产入表迈出了“从0到1”的关键一步。数据是数字化、智能化的“成果”,也是驱动数字化、智能化的“要素”。数据资产入表,意味着工业数字化迎......
  • 使用PHPQuery库进行下载
    这是一个使用PHPQuery库进行下载的程序,它使用PHP下载https://www.myfitnesspal.com.cn/的内容。代码必须使用以下代码:代理主机为www.duoip.cn,代理端口为8000。代码如下:```php<?php//加载phpQuery库require_once'phpQuery/phpQuery.php';http://www.jshk.com.cn/mb/reg.asp?k......
  • 2024年1月深圳CPDA数据分析师认证大家都来这报名
    CPDA数据分析师认证是大数据方面的认证,助力数据分析人员打下扎实的数据分析基础知识功底,为入门数据分析保驾护航。帮助数据分析人员掌握系统化的数据分析思维和方法论,提升工作效率和决策能力,遇到问题能够举一反三,为大部分决策难题提供解决方案。帮助数据分析人员掌握几种通用的数据......
  • 2024年1月DAMA-CDGP数据治理专家认证可以先报名及备考
    DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业竞争能力。DAMA是数据管理方面的认证,帮助数据从业者提升......
  • 2024年1月DAMA-CDGA/CDGP数据治理认证报名流程及备考
    DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业竞争能力。DAMA是数据管理方面的认证,帮助数据从业者提升......
  • 物联网和jvs智能bi(自助式数据分析)1.9更新功能说明
    智能bi更新功能新增:1.报表动态属性更新配置自动开关;在智能BI中,报表通常会展示实时或动态的数据。当字段的正上方和左侧同时存在其他字段时,本字段将自动打开动态属性设置,生成交叉报表;2.大屏组件菜单所有组件支持层级拖拽;当用户在创建或编辑大屏时,大屏中有不同的组件(如图表、文本框......
  • 数据类型
    数据类型不同的数据会有不同的数据类型为了定义不同数据,python提供了以下的数据类型数字类型整形height=180#作用:描述号码#定义方式height=180#方法:+-*%//浮点型#作用:商品99.9#定义方法salary=99.9#方法:同上1+121-101*222%203//21......