XAMPPでのPHP5.2.6の使用:ここ
で
SQLインジェクションについて読み、次のログインフォームで試してみました:
<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変数にはすでにすべての特殊文字がエスケープされているということでした。では、 PHP 5.2.6でmysql_
の実際の_
エスケープ文字列を使用する必要はありませんか?_