如何在发送到 mysql 数据库时从特殊字符中转义所有数组元素
How to escape all array elements from special characters while sending to mysql database
我正在发送一个数组,该数组已从视图传递到控制器 (ajax-json)。
在控制器中,我将它们全部收集在数组中,如下所示:
$to_update = array(
'Name' =>$Name,
'qualification' =>$qualification,
'percentage' =>$percentage,
);
我会将其发送到模型以插入到数据库中,调用就像
$result = $this->MODEL_NAME->FUNC_NAME($to_update);
在模型中,它们被插入,
$this->db->insert('table_name', $to_update);
现在我必须确保 SQL INJECTION 将得到正确处理,并且当用户输入任何特殊字符时不会造成伤害。
所以我必须为数组提供 ESCAPE 功能。我有像上面这样的非常大的数组,有数百个元素。
存的时候存的是特殊字符,取的时候出问题,数据会丢失。那么我必须在哪里处理转义,以及如何转义
请有任何建议。
ActiveRecord 的所有查询构建方法 like ,where, group, order, insert, update and so on,
都是安全的 SQL injection
只要您不向它们传递原始 SQL 字符串。
CodeIgniter 将识别您的变量是什么类型的数据,并相应地包装它。也就是说,如果它是一个字符串,它将在 SQL 中的转义值周围放置 ' 和 ',这是确保 users can't inject anything malicious.
所需要的
CodeIgniter 在使用活动记录而不是 运行 直接 SQL 查询时删除引号和易受攻击的脚本。所以不用担心使用活动记录
我正在发送一个数组,该数组已从视图传递到控制器 (ajax-json)。 在控制器中,我将它们全部收集在数组中,如下所示:
$to_update = array(
'Name' =>$Name,
'qualification' =>$qualification,
'percentage' =>$percentage,
);
我会将其发送到模型以插入到数据库中,调用就像
$result = $this->MODEL_NAME->FUNC_NAME($to_update);
在模型中,它们被插入,
$this->db->insert('table_name', $to_update);
现在我必须确保 SQL INJECTION 将得到正确处理,并且当用户输入任何特殊字符时不会造成伤害。 所以我必须为数组提供 ESCAPE 功能。我有像上面这样的非常大的数组,有数百个元素。
存的时候存的是特殊字符,取的时候出问题,数据会丢失。那么我必须在哪里处理转义,以及如何转义 请有任何建议。
ActiveRecord 的所有查询构建方法 like ,where, group, order, insert, update and so on,
都是安全的 SQL injection
只要您不向它们传递原始 SQL 字符串。
CodeIgniter 将识别您的变量是什么类型的数据,并相应地包装它。也就是说,如果它是一个字符串,它将在 SQL 中的转义值周围放置 ' 和 ',这是确保 users can't inject anything malicious.
CodeIgniter 在使用活动记录而不是 运行 直接 SQL 查询时删除引号和易受攻击的脚本。所以不用担心使用活动记录