注入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

阿里云服务器绑定域名的几个流程整理

今天遇到一个网友,他之前一直在用阿里云虚拟主机,我们知道虚拟主机绑定域名是直接在面板上绑定的。这里由于他的网站项目流量比较大,虚拟主机是不够的,而且我看他虚拟主机已经有升级过。这里要说的是,用过阿里云虚拟主机的朋友可能会比较一下价格,实际上虚拟主机价格比云服务器还贵。所以,基于成本和性能的考虑,建议他选择云服务器。毕竟他的备案都接入在阿里云。这里在选择阿里云服务器后,他就蒙圈不知道如何绑定域名。这...

香港九龙湾(27元) 2核2G 20元 香港沙田

弘速云是创建于2021年的品牌,运营该品牌的公司HOSU LIMITED(中文名称弘速科技有限公司)公司成立于2021年国内公司注册于2019年。HOSU LIMITED主要从事出售香港VPS、美国VPS、香港独立服务器、香港站群服务器等,目前在售VPS线路有CN2+BGP、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。可联系商家代安装iso系统。国庆活动 优惠码:hosu10-1产品介绍...

JustHost,最新高性价比超便宜俄罗斯CN2 VPS云服务器终身8折优惠,最低仅8元/月起,200Mbps带宽不限流量,五大机房自助自由切换,免费更换IP,俄罗斯cn2vps怎么样,justhost云服务器速度及综合性能详细测评报告

主机参考最新消息:JustHost怎么样?JustHost服务器好不好?JustHost好不好?JustHost是一家成立于2006年的俄罗斯服务器提供商,支持支付宝付款,服务器价格便宜,200Mbps大带宽不限流量,支持免费更换5次IP,支持控制面板自由切换机房,目前JustHost有俄罗斯5个机房可以自由切换选择,最重要的还是价格真的特别便宜,最低只需要87卢布/月,约8.5元/月起!just...

防止sql注入为你推荐
暴风影音怎么截图暴风影音3 如何截图spgnux怎么安装思普操作系统依赖注入依赖注入是什么意思?微信如何建群在微信里怎么创建一个群别人可以加入扫描二维码的加入手机区号有的手机号中间的号码是地区区号,那是什么卡蘑菇街美丽说蘑菇街、美丽说这类网站前期是怎么推广的?qq怎么发邮件怎样在QQ上发送邮件?开机滚动条谁会调开机的滚动条创维云电视功能很喜欢创维云电视,它到底有哪些独特功能?怎么升级ios6苹果IOS5怎么升级IOS6版本
虚拟主机申请 深圳主机租用 唯品秀 息壤备案 香港主机 paypal认证 193邮箱 域名转向 789电视 adroit 佛山高防服务器 南通服务器 网通服务器托管 vip域名 四川电信商城 smtp虚拟服务器 阿里云官方网站 个人免费邮箱 空间服务器 宿迁服务器 更多