:
私はhere SQLインジェクションについて読むと、次のログインフォームであることを試してみました:SQLインジェクションの試みPHP 5.2.6
<html><body>
<form method='post' action='login.php'>
<input type='text' name='user'/>
<input type='text' name='pass'/>
<input type='submit'/>
</form>
</body></html>
とPHPコード:
<?php
$user = $_POST['user'];
$pass = $_POST['pass'];
$query = "Select * from users where user='$user' AND pass='$pass'";
echo $query;
mysql_connect('localhost','root','');
mysql_select_db('test');
$res = mysql_query($query);
if($res) $row = mysql_fetch_assoc($res);
if($row) echo 'yes';
?>
私が知りましたが、$ pass変数にはすでにすべての特殊文字がエスケープされていました。 mysql _
real _
PHPの5.2.6で_
の文字列をエスケープする必要はありませんか?