首页 > 作文

PHP+mysql防止SQL注入的方法小结

更新时间:2023-04-07 08:59:42 阅读: 评论:0

本文实例讲述了php+mysql防止sql注入的方法。分享给大家供大家参考,具体如下:

sql注入

例:脚本逻辑

$sql = "lect * from ur where urid = $_get[urid] ";

案例1:

复制代码 代码如下: lect * from t where a like ‘%xxx%’ or (if(now=sysdate(), sleep(5), 1)) or b like ‘1=1 ‘;

案例2:

复制代码 代码如下: lect * from t where a > 0 and b in(497 and (lect * from (lect(sleep(20)))a) );

案例3:

复制代码 代码如下: lect * from t where a=1 and b in (1234 ,(lect (cas师说翻译e when (5=5) then sleep(5) el 5*(lect 5 from information_schema.character_ts) end)) );

监控以下方法

sleep() — 一般的sql盲注都会伴随sleep()函数出现,而且一般至少sleep 5秒以上
mid()
char()
ord()
sysdate()
substring()
databas()
schema()
ur()
version()
current_ur()
load_file()
outfile/dumpfile
information_schema
table_name
fwrite()/fopen()/file_get_contents() — 这几个是php文件操作函数

应对方法:

1.mysql_escape_string() 转义特殊字符((php 4 >= 4.3.0, php 5))(mysql_real_escape_string必须先链接上数据库,否则会报错)

下列字符受影响:

\x00 //对应于ascii字符的null
\n //换行符且回到下一行的最前端
\r //换行符
\ //转义符


\x1a //16进制数

如果成功,则该函数返回被转义的字符串。如果失败,则返回 fal。

2.addslashes(): 函数返回在预定义字符之前添加反斜杠的字符串 (stripslashes()实现字符串还原)

预定义的字符有:

单引号(’)边塞诗句
双引号(”)
反斜杠(\)
null

3.prepared statements(预处理机制)

<?php$mysqli = new mysqli("example.com", "ur", "password", "databa");if ($mysqli->connect_errno) { echo "failed 陈情表作者to connect to mysql: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;}/* non-prepared statement */if (!$mysqli->query("drop table if exists test") || !$mysqli->query("create table test(id int)")) { echo "table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;}/* prepared statement, stage 1: prepare */if (!($stmt = $mysqli->prepare("inrt into test(id) values (?)"))) { echo "prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;}/* prepared statement, stage 2: bind and execute */$id = 1;if (!$stmt->bind_海底两万里主要内容param("i", $id)) { echo "binding parameters failed: (" . $stmt->errno . ") " . $stmt->error;}if (!$stmt->execute()) { echo "execute failed: (" . $stmt->errno . ") " . $stmt->error;}?>

更多关于php相关内容感兴趣的读者可查看本站专题:《php程序设计安全教程》、《php安全过滤技巧总结》、《php运算与运算符用法总结》、《php基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教小班游戏观察记录程》及《php常见数据库操作技巧汇总》

希望本文所述对大家php程序设计有所帮助。

本文发布于:2023-04-07 08:59:40,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/54f49cd69fa556342cf29eb8a7154a07.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:PHP+mysql防止SQL注入的方法小结.doc

本文 PDF 下载地址:PHP+mysql防止SQL注入的方法小结.pdf

标签:代码   字符串   函数   字符
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图