注入PHP登录中防止sql注入方法分析

防止sql注入  时间:2021-02-14  阅读:()

★精品文档★

PHP登录中防止sql注入方法分析

防止sql注入这些细节问题一般是出现在大意程序员或者是新手程序员了他们未对用户提交过来的数据进行一些非常过滤从而导致给大家测试一下就攻破了你的数据库了下面我来简单的一个用户登录未进行安全配置可能出现的sql注入方法下面一起来看看吧。

比如以下一段登录的代码

代码如下:if($l =@mysql_connect(‘ localhost’ , ‘root’ , ‘123’)) ordie(‘数据库连接失败’);mysql_select_db(‘test’);mysq l_set_charset(‘utf8’);

$sql = ‘select * from test where username =“$username”and password=“$password”‘ ;

$res=mysq l_q u e ry($sq l);if(mysq l_n u m_rows($res)){header(‘Location: ./home.php’);

}else{die(‘输入有误’);

}

注意上面的sql语句存在很大的安全隐患如果使用以下万能密码和万能用户名那么可以轻松进入页面

1/5

★精品文档★

代码如下:

1 . $sql= ‘select * from test where username = “***”and password=“***”or 1 =“1”‘ ;

很明显针对这条sql语句的万能密码是: ***”or 1 =“1

代码如下:

2. $sql = ‘select * from test where username =“***”union select *from users/*and password=“***”‘ ;

正斜线*表示后面的不执行mysql支持union联合查询所以直接查询出所有数据;所以针对这条sql语句的万能用户名是 ***”union select *from users/*

但是此注入只针对代码中的sql语句如果

代码如下:

$sql = “select * from test where username =$username and password=$password”;

上面的注入至少已经不管用了不过方法是一样的;

在使用PDO之后 sql注入完全可以被避免而且在这个快速开发的时代框架横行已然不用过多考虑sql注入问题了。

下面整理了两个防止sql注册函数

代码如下:

/*过滤所有GET过来变量*/foreach ($_GET as$get_key=>$get_var)

2/5

★精品文档★

{if (is_numeric($get_var)) {

$get[strtolower($get_key)]=get_int($get_var);}else{

$get[strtolower($get_key)]=get_str($get_var);}

}

/*过滤所有POST过来的变量*/foreach ($_POST as$post_key=>$post_var){if (is_numeric($post_var)) {

$post[strtolower($post_key)]=get_int($post_var);}else{

$post[strtolower($post_key)]=get_str($post_var);}

}

/*过滤函数*/

//整型过滤函数function get_int($number)

{return intval($number);

}

3/5

★精品文档★

//字符串型过滤函数function get_str($string)

{if (!get_magic_quotes_gpc()) {return addslashes($string);

}return$string;

}

还有一些博客会这样写

代码如下:

<?phpfunction post_check($post)

{if(!get_magic_quotes_gpc()) //判断magic_quotes_gpc是否为打开

{

$post = addslashes($post); //进行magic_quotes_gpc没有打开的情况对提交数据的过滤

}

$post=str_replace(“_”, “ _”,$post); //把‘_’过滤掉$post=str_replace(“%”, “ %”,$post); //把’%‘过滤掉$post=nl2br($post); //回车转换

4/5

★精品文档★

$post=htmlspecialchars($post); //html标记转换return$post;

}

?

5/5

哪个好Vultr搬瓦工和Vultr97%,搬瓦工和Vultr全方位比较!

搬瓦工和Vultr哪个好?搬瓦工和Vultr都是非常火爆的国外VPS,可以说是国内网友买的最多的两家,那么搬瓦工和Vultr哪个好?如果要选择VPS,首先我们要考虑成本、服务器质量以及产品的售后服务。老玩家都知道目前在国内最受欢迎的国外VPS服务商vultr和搬瓦工口碑都很不错。搬瓦工和Vultr哪个稳定?搬瓦工和Vultr哪个速度快?为了回答这些问题,本文从线路、速度、功能、售后等多方面对比这两...

iWebFusion:独立服务器月付57美元起/5个机房可选,10Gbps服务器月付149美元起

iWebFusion(iWFHosting)在部落分享过很多次了,这是成立于2001年的老牌国外主机商H4Y旗下站点,提供的产品包括虚拟主机、VPS和独立服务器租用等等,其中VPS主机基于KVM架构,数据中心可选美国洛杉矶、北卡、本德、蒙蒂塞洛等。商家独立服务器可选5个不同机房,最低每月57美元起,而大流量10Gbps带宽服务器也仅149美元起。首先我们分享几款常规服务器配置信息,以下机器可选择5...

CloudCone闪购优惠洛杉矶MC机房VPS月$1.99 便宜可随意删除重开

CloudCone商家我们很多喜欢低价便宜VPS主机的肯定是熟悉的,个人不是特别喜欢他。因为我之前测试过几次,开通的机器IP都是不通的,需要删除且开通好几次才能得到一个可用的IP地址。当然他们家的优势也是有的,就是价格确实便宜,而且还支持删除重新开通,而且机房只有一个洛杉矶MC。实话,如果他们家能多几个机房,保持现在的特点,还是有很多市场的。CloudCone是来自美国的主机销售商,成立于2017...

防止sql注入为你推荐
淘宝收费淘宝网的收费项目有哪些雅虎社区雅虎资讯在哪里提交公章制作如何制作公章手机区号手机电话号码开头95共15位号码是什么手机号码?童之磊网文大学很强吗?安装迅雷看看播放器如何用手机安装迅雷看看播放器ejb开发什么是EJB?它是干什么的?和JAVA,JSP有关系吗?他们各有什么特点和用途?如何快速收录如何做到让百度快速收录网络广告投放网络广告投放有哪些技巧?网管工具网吧管理软件都有哪些?
vps安全设置 域名备案信息查询 美国主机网 免费个人博客 申请个人网页 本网站服务器在美国 双拼域名 网络空间租赁 免费申请个人网站 中国电信宽带测速网 常州联通宽带 域名与空间 东莞idc 秒杀品 免费个人主页 深圳域名 网页加速 免费php空间 阵亡将士纪念日 带宽测试 更多