Cyc*_*one 3 php arrays security pdo
我使用的PDO,而我$_POST['arraywithdata']是提起阵列数字值.我认为这不够安全,我只是不确定并防止自己陷入黑客攻击.
这是我的代码:
$arr = $_POST['arraywithdata'];
$SQL->query("UPDATE `data_s` SET `set` = 1 WHERE `id` IN " . implode(", ", $arr));
Run Code Online (Sandbox Code Playgroud)
如您所见,我不会检查int中的邮政编码或其他内容.
我应该使用类似的东西:
implode(", ", (int) $arr)
Run Code Online (Sandbox Code Playgroud)
?
我猜上面的代码不起作用,因为数组不能是整数.
您需要转换数组的每个值,而不是数组本身.您可以array_map这样做:
implode(", ", array_map('intval', $arr))
Run Code Online (Sandbox Code Playgroud)
这里array_map将应用于intval每个值$arr并返回带有返回值的新数组.
但是当您使用PDO时,您可能也对PDO解决方案感兴趣.
| 归档时间: |
|
| 查看次数: |
4053 次 |
| 最近记录: |