IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> PHP学习笔记(三) -> 正文阅读

[PHP知识库]PHP学习笔记(三)

分析理解一个数字型参数过滤,对传参点进行严格类型限制的过滤函数(SQL注入的防护)

if($_GET['level'] && $_GET['id'])
/*获取客户端传入的参数*/
{
    $id = $_GET['id'];
    $level=$_GET['level'];
    switch($level){
        case 1:
        /*使用intval函数进行转换,这里使用十进制进行base转换,返回变量var的integer数值*/
            $id = intval($id);
            $sql = queryStr($id);
            $res = $db->getOneRow($sql);
            sql_print($res);
            break;
        case 2:
            /*使用is_numberic函数检测变量是否为数字或者数字字符串,但此函数允许输入为负数和小数*/
            if(is_numberic($id))
            {
                $sql = queryStr($id);
                    $res = $db->getOneRow($sql);
                    sql_print($res);
                }
                break;
         case 3:
         /*使用ctype_digit函数检测字符串中的字符是否都是数字,负数和小数会检测不通过*/
             if(ctype_digit($id))
                 {
                     $id = mysql_real_escape_string($id);
                     $sql = queryStr($id);
                     $res = $db->getOneRow($sql);
                     sql_print($res);
                 }
                 break;
                 default:
                 echo 'default';
             }
}

intval() 函数
intval() 函数用于获取变量的整数值
intval() 函数通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值
intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1

语法

int intval ( mixed $var [, int $base = 10 ] )

参数说明:
$var:要转换成 integer 的数量值
$base:转化所使用的进制。
如果 base 是 0,通过检测 var 的格式来决定使用的进制:
如果字符串包括了 “0x” (或 “0X”) 的前缀,使用 16 进制 (hex);否则,如果字符串以 “0” 开始,使用 8 进制(octal);否则,将使用 10 进制 (decimal)
返回值:
成功时返回 var 的 integer 值,失败时返回 0。 空的 array 返回 0,非空的 array 返回 1

is_numberic函数
is_numeric() 函数用于检测变量是否为数字或数字字符串

语法

bool is_numeric ( mixed $var )

参数说明:
$var:要检测的变量
返回值:如果指定的变量是数字和数字字符串则返回 TRUE,否则返回 FALSE,注意浮点型返回空值,即 FALSE

ctype_digit()函数
ctype_digit()函数用于检测字符串中的字符是否都为纯数组

语法:

ctype_digit($text)

参数:
$text:要检测的一个字符串
返回值:
如果 $text 中的所有字符都为纯数字,则返回 TRUE 否则返回 false

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-07-28 07:27:14  更:2021-07-28 07:31:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:50:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码