【发布时间】:2013-08-23 05:03:20
【问题描述】:
我遇到了一个 sql 注入问题。我的页面显示表格的数据如下:
<input type="checkbox" name="id[]" value="<?php echo $row['id']; ?>" /><?php echo $row['data']; ?><br />
如何确定提交的值是该特定行的 id 而不是页面中“注入”的随机数?
显然,我会开始检查 id 是否返回 true 到 is_numeric() / 通过 mysql_real_escape_string(). 得到它
然后,我想到了两个选择:
使用 $row['data'] 的副本添加隐藏输入,以便我可以 在
mysql_query()之前检查id和数据的对应关系将行的 id 从一个自动递增的数字更改为一个大的随机数,这样我就可以降低幸运命中的机会。
我有错吗?有更好的主意吗? 感谢您的帮助!
【问题讨论】:
标签: php sql input xss sql-injection