【发布时间】:2014-01-23 21:16:40
【问题描述】:
我想清理数据以防止 mysql 注入。 所以我需要编写一个模式来识别和删除 4 个主要的 mysql SELECT、Replace、DELETE、UPDATE。
我想对 array_map 使用这个通用规则
$_POST = array_map('stz',$_POST);
但是我坚持编写该模式以防止像这样发生 " ' AND 1=1; SELECT * FROM test_table "
【问题讨论】:
-
使用Prepared Statements有什么问题? php.net/manual/de/mysqli.quickstart.prepared-statements.php
-
$_POST 中应该包含什么?
-
或者如果你使用的 API 没有准备好的语句,它的转义函数有什么问题?
-
这绝对是错误的做法。请咨询this SO question/answer 和this reddit discussion。
-
为什么要发明轮子?使用 $stz = mysql_real_escape($_POST['stz']);
标签: php mysql sanitization