PHP安全(续1)

来源:互联网 发布:海关数据编码 编辑:程序博客网 时间:2024/05/01 17:33

在magic_quotes_gpc打开的状态下,我们知道当通过表单输入',或者"则会被自动加/。 

而我们也知道如果只是单纯要靠这样实现SQL注射则已经不可能。所以往往忽略了要

进行转义。在此,要说的

是当引号进入数据库后的情况。如:

一个表A字段如下

part 材料编号

end 库存数量

表格B字段如下

part 材料编号

end 库存数量

date 月结日期

当在执行业务流程D1时,表格A的字段end存在记录格式如

1000' date='200608'

则当执行D2时,需要把表A的end赋给表B的end.这时写法可能是:

$sql = "select end from a where part='t1000'";

$quy = mysql_query($sql);

$val = mysql_fetch_array($quy);

$sql = "update b set end='$val[end]' where part='t1000'";

$quy = mysql_query($sql);

这时你就会发现date字段的值同时也被改变了。这就当给我们业务流程在执行过程中

带来意想不到的收获。

因此建议在进行数据库更新操作的时候使用mysql_real_escapte_string(),addslashes()

等函数进行转义。

原创粉丝点击