出于安全原因,我想迁移CodeIgniter

时间:2013-06-27 00:21:38

标签: php codeigniter frameworks xss

我有一个用PHP编写的CodeIgniter框架网站。这项工作已经进行了几年,我最终想开源。它目前运行大约10,000行PHP(不包括CodeIgniter库)。最近我很清楚我不能继续使用CodeIgniter。

它的主要问题是,开发人员似乎不理解XSS和正确的转义,或者他们并不关心。甚至直接在属性中结束的函数的参数(例如,anchor())也不会被转义。生成表单输入的函数关于它们是否转义以及文档是否对此主题保持沉默是不一致的(我所能做的就是阅读源代码)。而“模板引擎”,如果它甚至可以称之为,也不会逃脱,这使它基本上无用。每次我想输出链接时,我都厌倦了写<?=anchor(html_escape('foo/bar/' . rawurlencode($baz)), html_escape($baz))?>。它让代码变得难看,我确信我错过了一些地方。在某些情况下,输入被不恰当地“消毒”,并且这种行为无法关闭;例如,如果用户在任何表单输入字段中输入包含%10的字符串,则在应用程序看到之前删除该子字符串。

我的代码依赖于许多CodeIgniter库,包括数据库(活动记录模式),电子邮件,表单验证,分页和会话。

另一个PHP框架是什么:

  • 基于MVC模式;
  • 有一个合适的模板引擎,并且不会躲避逃跑;
  • 相对容易从CodeIgniter(具有大多数相同的库)转换到

2 个答案:

答案 0 :(得分:1)

那里有很多MVC框架。我个人自己使用Symfony。这是一个框架,你可以扩展,因为你不需要无用的库。需要考虑的其他问题包括LithiumLaravel

Symfony上的用户群比其他用户群大,但它们都非常可靠。您可以将Composer与框架一起使用以扩展第三方库。

答案 1 :(得分:0)

您可以根据Rails原则调查CakePHP,并且应该快速且足够重写您的应用程序而不会有太多麻烦。

无论如何,Zend Framework应该是一个很酷的选择。