百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysql_real_escape_string
分享文章到:

mysql_real_escape_string

发布时间:01/15 来源: 浏览: 关键词:

mysql_real_escape_string

mysql_real_escape_string - 转义特殊字符在一个SQL语句中使用的字符串

字符串 mysql_real_escape_string( 字符串 $ unescaped_string [, 资源 $ link_identifier])

.转义特殊字符unescaped_string,考虑到当前字符集的连接,以便它是安全的放置在mysql_query它()。如果二进制数据将被插入,这个函数必须使用。

调用MySQL的库函数mysql_real_escape_string,其中前添加反斜杠下列字符
此函数必须始终(少),用于制造的数据安全例外在发送查询到MySQL

nescaped_string

    该字符串转义。
link_identifier link_identifier

    The MySQL connection. MySQL的连接。 如果链接标识没有指定,最后一个环节开幕mysql_connect()函数假定。如果没有这样的链接被发现,它会尝试创建一个仿佛mysql_connect()函数是不带参数的要求。如果没有发现或连接建立一条E_WARNING级别的错误的产生。

例子1简单mysql_real_escape_string()例子
<?php
// Connect
$link = mysql_connect ( 'mysql_host' , 'mysql_user' , 'mysql_password' )
OR die( mysql_error ());

// Query
$query = sprintf ( "SELECT * FROM users WHERE user='%s' AND password='%s'" ,
mysql_real_escape_string ( $user ),
mysql_real_escape_string ( $password ));
?>
例如#2例如SQL注入攻击
<?php
// Query database to check if there are any matching users
$query = "SELECT * FROM users WHERE user=' { $_POST [ 'username' ]} ' AND password=' { $_POST [ 'password' ]} '" ;
mysql_query ( $query );

// We didn't check $_POST['password'], it could be anything the user wanted! For example:
$_POST [ 'username' ] = 'aidan' ;
$_POST [ 'password' ] = "' OR ''='" ;

// This means the query sent to MySQL would be:
echo $query ;
?>

查询发送到MySQL的:

SELECT * FROM users WHERE user='aidan' AND password='' OR ''=''选择*从用户其中user ='艾丹'和password = ''或''=''

这将允许任何人没有一个有效的登录密码登录。

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有6人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板