php mysql_real_escape_string函数用法与实例教程
发布:smiling 来源: PHP粉丝网 添加日期:2014-09-12 09:28:13 浏览: 评论:0
转义特殊字符在unescaped_string,考虑到当前字符的连接设置,以便它在的地方是安全的在mysql_query(),如果二进制数据要插入,这个函数必须被使用.
mysql_real_escape_string - 转义特殊字符的SQL语句中使用字符串
string mysql_real_escape_string (string $unescaped_string [,resource $link_identifier ] )
mysql_real_escape_string()调用MySQL的库函数mysql_real_escape_string,其中prepends反斜杠以下字符:x00 ñ ṛ,,',“和但X1a.
这个函数必须始终(除了少数例外)被用来制作发送之前查询到MySQL数据的安全.
unescaped_string:该字符串进行转义
link_identifier,MySQL的连接,如果没有指定连接标识符,最后一个环节开幕mysql_connect()函数假设,如果没有这样的链接被发现,它会尝试创建一个犹如mysql_connect()是不带参数调用,如果没有找到或建立连接,一会生成一条E_WARNING级别的错误.
实例一,代码如下:
- <?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));
- ?>
实例二,代码如下:
- <?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);
- //开源代码phpfensi.com
- // 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:选择*从用户的WHERE用户='艾丹'和password = ''或''='',这将允许任何人登录没有有效的密码.
Tags: mysql_real_escape_string函数用法
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)