php搜索引擎中sql注入问题

本文详细介绍了如何通过PHP连接MySQL数据库查询用户数据,并强调了在查询过程中防止SQL注入的重要性,通过添加斜杠转义、替换特殊字符等手段确保安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

请输入名字

用户名

1     admin

 

请输入名字

用户名

1     admin
2     guest

 

加入有100万条数据,就相当于攻击

 

请输入名字

用户名

 

 

<html>
<head>
<title>查询结果</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>

</head>
<?php

$keyWord=$_REQUEST['username'];
$conn=mysql_connect("localhost","root","root");
if(!$conn){
 die("不能连接到数据库".mysql_error());
}
mysql_select_db("spdb",$conn) or  die("选择数据库失败".mysql_error());
mysql_query("set  names  utf8",$conn) or  die("查询失败".mysql_error());
//如何防止查询sql查询
//对关键字进行过滤
$keyWord=addslashes($keyWord);
$keyWord=str_replace("%", "\%", $keyWord);
$keyWord=str_replace("_", "_%", $keyWord);

 

$sql="select  *  from users where username like '%$keyWord%'";

if(!empty($keyWord)){
 $res=mysql_query($sql,$conn) or  die("不能完成查询".mysql_error());
 while($row=mysql_fetch_array($res)){
  echo "<br/>$row[0]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$row[1]";
 }
}else{
 echo "请输入";
}

?>

 


1     admin
2     guest

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值