有些人可能知道可以从 Flash 远程调用 PHP 方法。 有时远程 PHP 方法的输入参数是一个整数数组。 因为 PHP 是动态类型的,所以攻击者可以传递任何数组。 必须在 SQL 查询中使用整数数组。 目前我正在防止这样的注入(inject):
foreach ($unsafeArray as $value)
$safeArray[] = (int)$value;
你会推荐什么?也许我应该开始使用 Java :D
最佳答案
您可以使用:$aSafeArray = array_map('intval', $aUnsafeArray);
来确保所有传递的值都是整数。
我的建议是开始使用 prepared statements ! 示例:
$o->bindParam(':anint', $iInt, PDO::PARAM_INT);
关于php - 动态类型语言和远程方法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6183841/