PHPでの検索 SQLインジェクション対策
目的:
SQLクエリ攻撃を防ぐ
対策:
キーワードのフィルター
処理コード下記:
$k = $_REQUEST['k’];
$k = addslashes($k); //エスケープ:単一引用符,二重引用符,バックスラッシュ,NULL
$k = str_replace('%’, '\%’, $k);
$k = str_replace('_’, '\_’, $k);
$sql = “select * from users where name like '%$k%'";
if(!empty($k)){
$res = mysql_query($sql, $con) or die(mysql_error());
if($row = mysql_fetch_assoc($res)){
foreach($row as $k=>$v){
echo $row[$k].’:’.$row[$v].'<br />’;
}
}
}else{
echo '******’;
}