巅云智能建站平台搭建版(创业流派版)火爆上线,毕生受权!新增:文章智能收罗+全站真静态打包+都会分站+智能小法式+不法词过滤+H5自顺应+智能链词等功效功效概况
建站资讯News

PHP函数addslashes和mysql_real_escape_string的区分

0
一佰互联网站扶植(www.taishanly.com) 宣布时候:2020-04-29 09:01:54 阅读数: 107

起首:不要操纵mysql_escape_string,它已被弃用,请操纵mysql_real_escape_string取代它。

mysql_real_escape_string和addslashes的区分在于:区分一:addslashes不晓得任何有关MySQL毗连的字符集。若是你给所操纵的MySQL毗连通报一个包罗字节编码以外的其余编码的字符串,它会很兴奋地把一切值为字符‘、“、和x00的字节遏制本义。若是你正在操纵差别于8位和UTF-8的别的字符,这些字节的值不一定全数都是表现字符‘、“、和x00。能够形成的成果是,MySQL领受这些字符后呈现毛病。

若是要批改这个bug,可测验考试操纵iconv函数,将变量转为UTF-16,而后再操纵addslashes遏制本义。

这是不操纵addslashes遏制本义的缘由之一。

区分二:

与addslashes对照,mysql_real_escape_string同时还对、和x1a遏制本义。看来,这些字符必须准确地告知MySQL,不然会取得毛病的查问成果。

这是不操纵addslashes遏制本义的另外一个缘由。

addslashes V.S. mysql_real_escape_string

在GBK里,0xbf27不是一个正当的多字符字符,但0xbf5c倒是。在单字节环境里,0xbf27被视为0xbf前面跟着0×27(‘),同时0xbf5c被视为0xbf前面跟着0x5c()。

一个用反斜杠本义的单引号,是没法有用禁止针对MySQL的SQL注入进犯的。若是你操纵addslashes,那末,我(进犯者,下同)是很荣幸的。我只需注入一些近似0xbf27,而后addslashes将它修改成0xbf5c27,一个正当的多字节字符前面接着一个单引号。换句话说,我能够疏忽你的本义,胜利地注入一个单引号。这是由于0xbf5c被看成单字节字符,而非双字节。

在这个演示中,我将操纵MySQL 5.0和PHP的mysqli扩大。若是你想测验考试,请确保你操纵GBK。

成立一个名为users的表:
复制代码 代码以下:
CREATE TABLE users(
 username VARCHAR(32) CHARACTER SET GBK,
 password VARCHAR(32) CHARACTER SET GBK,
 PRIMARY KEY(username)
);
上面的代码摹拟只操纵addslashes(或magic_quotes_gpc)对查问数据遏制本义时的环境:
复制代码 代码以下:
<?php
$mysql = array();
$db = mysqli_init();
$db->real_connect("localhost", "lorui", "lorui.com", "lorui_db");
/* SQL注入示例 */
$_POST["username"] = chr(0xbf) . chr(0×27) . ‘ OR username = username /*"; $_POST["password"] = ‘guess"; $mysql["username"] = addslashes($_POST["username"]); $mysql["password"] = addslashes($_POST["password"]); $sql = “SELECT * FROM users WHERE username = ‘{$mysql["username"]}" AND password = ‘{$mysql["password"]}"”; $result = $db->query($sql); if ($result->num_rows) { /* 胜利 */ } else { /* 失利 */ }

虽然操纵了addslashes,我仍是能够在不晓得用户名和暗码的环境下胜利登录。我能够轻松的操纵这个缝隙遏制SQL注入。

要以避免这类缝隙,操纵mysql_real_escape_string、筹办语句(Prepared Statements,即“参数化查问”)或肆意一款支流的数据库笼统类库。

一佰互联是天下着名建站品牌办事商,咱们有九年、网站建造、网页设想、php开辟和域名注册及假造主机办事经历,供给的办事更是天下着名。最近几年来还整合团队上风自立开辟了可视化多用户”“3.0平台版,拖拽排版网站建造设想,轻松完成pc站、手机微网站、小法式、APP一体化全网营销网站扶植 ,已胜利的为天下上百家收集公司供给自助建站平台搭建办事。更多资讯:tags标签

上一篇:phpmailer中文乱码题目的处理体例
下一篇: 本身写了一个php检测文件编码的函数
[前往消息列表]

相干消息more

18
05月
阿里巴巴挪动转售营业将成焦点-www.yx1

  克日,阿里巴巴团体旗下全资子公司北京万网志成科技无限公司取得我国首批挪动通讯转售营业试点资历。阿里巴巴团体表现,获得... >>概况

15
05月
搜索引擎优化排名教程_巅云建站

ta charset="UTF-8"> 搜索引擎优化排名教程_巅云建站 a:hover, a:focus,.post-like.acti... >>概况

24
04月
css完成带箭头和圆点的轮播

功效:图片轮播,当鼠标移入图片、圆点和标的目的键时,遏制轮播,移除规复。1.起首成立div,并放入图片#wai{ width:300px;... >>概况

26
03月
小法式已正式进入“四足鼎峙”的时期 微信小程

简介:跟着本日头条小法式的宣布,小法式已正式进入“四足鼎峙”的时期,面临劲敌追逐,上线两年整的微信小法式是不是难保上风位置,又该若何坚持上风呢... >>概况

高端网站扶植

美工统筹SEO,为企业电子商务营销助力!

德律风:

023-85725751
建站

产物

域名注册 假造主机 云办事器 企业邮局
智能建站 APP打包 微站/小法式 创业平台
网站推行 媒体营销 智能收罗 AI机械人
400德律风 短信营销 店销机械人
私家定制 流派网站