CodeIgniter 如何比核心 PHP 编码更安全。CodeIgniter 处理了哪些安全问题,如果不编写任何特殊的安全代码,我们就无法从核心 PHP 中获得。像防止 SQL 注入我们必须使用mysql_real_scape_string()
.
4 回答
Codeigniter 和其他流行的框架,如 Zend、cake、Yii 等。它们都提供了方法和结构,在一定程度上迫使开发人员编写能够抵抗常见漏洞的代码,例如跨站脚本 XSS、SQL 注入和其他黑客攻击。但一切都取决于开发人员。框架只会提供一个经过良好测试的结构来构建你的应用程序。如果您编写核心 php,在某些情况下,您可以编写更安全的代码。但这需要非常熟练的开发人员。所以在大多数情况下,使用框架肯定会给你带来优势。
我听说 codeigniter 停止了它的开发,而且我知道 codeigniter 仍在使用 mysql 而不是 mysqli 函数来提高后端的安全性。
为了防止在codeigniter中注入mysql,我通常在我的模型中使用绑定,如下所示:
$sql = "SELECT * FROM some_table WHERE username = ? AND password= ?";
$this->db->query($sql, array($username, $Encrypted_password));
使用绑定的好处是值会自动转义,从而产生更安全的查询。
这个应用框架对我还是有好处的。
http://ellislab.com/codeigniter%20/user-guide/libraries/security.html
$data = $this->security->xss_clean($data);
如果您希望过滤器在每次遇到 POST 或 COOKIE 数据时自动运行,您可以通过打开 application/config/config.php 文件并设置它来启用它:
$config['global_xss_filtering'] = TRUE;
例子:-
$data = array('NAME' => $NAME,'EMAIL' => $EMAIL, 'PASSWORD' => $PASSWORD);
$clean = $this->security->xss_clean($data);