亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

web安全之sql注入問題

標簽:
MySQL

1.sql攻击是什么?就是输入参数未经过滤然后直接拼接到sql语句中解析执行然后达到预想之外的的一种行为 例如where id=-1 or 1=1;这种情况下 where条件永远为真
2.如何寻找sql注入?
不直接拼接客户端发来的参数
----1.数字注入
----2.字符串注入(重点)sql语句的注释 '# 这样就可以做到 #后面的语句全部失效 '--等等
3.如和预防sql注入
----1.整数的非空校验
----2.可以利用前台的表单要求 而 利用正则表达式 来做校验
----3.特殊字符的转义(php的函数addslashes htmlspecialchars 严格检查输入的类型以及格式)
----4.预编译(预编译是根本上解决sql注入的方法。)bind_param()函数
<?php
//创建连接
$mysqli=new mysqli("localhost","root","","test");
//设置mysqli编码
mysqli_query($mysqli,"SET NAMES utf8");
//检查连接是否被创建
if (mysqli_connect_errno()) {
printf("Connect failed:".mysqli_connect_error());
exit();
}
//创建准备语句
$stmt = $mysqli->prepare("select id,username from user where id > ?");
/*****/
$id=5;
//绑定参数
$stmt->bind_param("i",$id);
//绑定结果集
$stmt->bind_result($id,$username);
//执行查询
$stmt->execute();
//显示绑定结果的变量
while($stmt->fetch()){
echo "第".$id."个用户: ".$username."<br />";
}
/**/
/www.phpddt.com为你提示:上面之间的内容可以重复执行类似功能,不需要再次编译了*/
//释放结果
$stmt->free_result();
//关闭编译语句
$stmt->close();
//关闭数据库的链接
$mysqli->close();
?>

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消