我正在发送一个数组,它已经从视图传递到控制器(ajax-json)。在控制器中,我像这样将它们全部收集到数组中:
$to_update = array(
'Name' =>$Name,
'qualification' =>$qualification,
'percentage' =>$percentage,
);
我将把这个发送给Model用于插入数据库,调用就像
$result = $this->MODEL_NAME->FUNC_NAME($to_update);
在Model中,它们像这样插入
$this->db->insert('table_name', $to_update);
现在我必须确保SQL注入将被妥善处理,并且当从用户输入任何特殊字符时不会发生伤害。所以我必须为数组提供ESCAPE功能。我有一个非常大的数组,上面有数百个元素。
保存时保存特殊字符,但取时出现问题,数据丢失。那么我该怎么逃,怎么逃有什么建议吗?
所有ActiveRecord的查询构建方法like ,where, group, order, insert, update and so on,
对SQL injection
是安全的,只要你不传递原始SQL字符串。
CodeIgniter将识别变量的数据类型,并相应地包装它。也就是说,如果它是一个字符串,它将在SQL中转义值周围放置'和',这是您需要确保users can't inject anything malicious.
CodeIgniter是条带削减引号和易受攻击的脚本时,使用活动记录,而不是运行直接的SQL查询。所以不用担心使用活动记录