php is_numberic函数产生sql注入漏洞怎么解决
本节内容:
php is_numberic函数,sql注入漏洞。
一、is_numberic函数简介
is_numberic函数的结构
bool is_numeric (mixed $var)
如果 var 是数字和数字字符串则返回 true,否则返回 false。
二、函数是否安全
例子,检测此函数安全性。
复制代码 代码示例:
<?php
$s = is_numeric($_get['s'])?$_get['s']:0;
$sql="insert into test(type)values($s);"; //是 values($s) 不是values('$s')
mysql_query($sql);
以上代码片段,判断参数s是否为数字,是则返回数字,不是则返回0,然后带入数据库查询。(这样就构造不了sql语句)
把‘1 or 1' 转换为16进制 0x31206f722031 为s参数的值
程序运行后,查询数据库看看,如下图:
如果再重新查询这个表的字段出来,不做过滤带入另一个sql语句,将会造成2次注入。
三、 总结
尽量不要使用此函数。
如果要使用这个函数,建议使用规范的sql语句,条件加入单引号,这样16进制0x31206f722031就会在数据库里显示出来,而不会出现1 or 1。
以上就是php is_numberic函数产生sql注入漏洞的原因与解决方法,与大家共享。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jq/jc/9762.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
PHP识别相片是否是颠倒的
时间:2020-12-28
-
python编程有哪些ide
时间:2020-12-28
-
python开发工程师是做什么
时间:2020-12-28
-
php构造函数的作用
时间:2020-12-28
-
php怎么跟数据库连接
时间:2020-12-28
-
php实现顺序线性表
时间:2020-12-28
-
Python多重继承中的菱形继
时间:2020-12-28
-
php中break的作用
时间:2020-12-28
热门文章
-
php中常用的正则表达式使用方法
时间:2020-12-25
-
asp与php区别是什么?
时间:2020-12-27
-
PHP识别相片是否是颠倒的,并且重新摆正
时间:2020-12-28
-
Yii授权之基于角色的存取控制 (RBAC)
时间:2020-12-23
-
php的一键安装包有哪些 php环境搭建
时间:2020-12-19
-
php实现对图片对称加解密(适用身份证加
时间:2020-12-25
-
php如何理解面向对象
时间:2020-12-28
-
超详细分析php docker的原理及作用
时间:2020-12-27
-
Python控制Excel实现自动化办公
时间:2020-12-23
-
session的作用是什么
时间:2020-12-25
