【发布时间】:2015-07-01 19:53:30
【问题描述】:
我的页面上有一个搜索表单。
<form action='' method='post'>
<input type='text' name='search' />
<input type='sumit' name='submit' value='submit'/>
</form>
当用户点击表单上的提交按钮时,它应该运行一个 mysql_query 并创建一个指向用户页面的链接。
if(isset($_POST['search'])){
$add = "city = {'$_POST['search']'}";
}
$res = mysql_query("SELECT * FROM user WHERE {$add}");
while($rw=mysql_fetch_object($res)){
echo "<a href=user.php?id={$rw->user_id}?>{$rw->name}</a>";
}
当我点击链接user.php?id=3 时,它会进入用户页面,一切正常。但是当我在 user.php 页面上单击浏览器的后退按钮时出现问题。然后我有问题回到上一页。
确认重新提交表单。
【问题讨论】:
-
这对 SQL 注入很开放,在查询中的任何地方使用它之前,请先检查一下您的
$_POST['search']!没有什么能阻止我搜索x'; truncate user; '或类似的东西;) 来清除你的数据库。 -
这只是一个例子。我正在使用 mysql_real_escape_string()
-
不重复。提交后我无法刷新页面,因为在查询中创建了扩展。