用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

php mysql_real_escape_string函数用法与实例教程

时间:2015-01-23  来源:西部数据  作者:西部数据

转义特殊字符在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级别的错误.

实例一,代码如下:

  1. <?php 
  2. // Connect 
  3. $link = mysql_connect('mysql_host''mysql_user''mysql_password'
  4.     OR die(mysql_error()); 
  5.  
  6. // Query 
  7. $query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'"
  8.             mysql_real_escape_string($user), 
  9.             mysql_real_escape_string($password)); 
  10. ?> 

实例二,代码如下:

  1. <?php 
  2. // Query database to check if there are any matching users 
  3. $query = "SELECT * FROM users WHERE user='{$_POST['username']}' AND password='{$_POST['password']}'"
  4. mysql_query($query); 
  5. //开源代码phpfensi.com 
  6. // We didn't check $_POST['password'], it could be anything the user wanted! For example: 
  7. $_POST['username'] = 'aidan'
  8. $_POST['password'] = "' OR ''='"
  9.  
  10. // This means the query sent to MySQL would be: 
  11. echo $query
  12. ?> 

查询发送到MySQL:选择*从用户的WHERE用户='艾丹'和password = ''或''='',这将允许任何人登录没有有效的密码.

来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
    无相关信息
栏目更新
栏目热门