我有一个使用 CodeIgniter 框架用 PHP 编写的网站。几年来,这项工作一直在进行中,我最终想将它开源。它目前运行大约 10k 行 PHP(不包括 CodeIgniter 库)。最近我很清楚我不能继续使用 CodeIgniter。
它的主要问题是开发人员似乎要么不了解 XSS 和正确的转义,要么他们不在乎。即使是直接在属性中结束的函数的参数(例如,anchor()
)也不会被转义。生成表单输入的函数在是否转义方面不一致,并且文档对此主题保持沉默(我所能做的就是阅读源代码)。而“模板引擎”,即使可以这样称呼,也没有逃脱,这使得它基本上没用。<?=anchor(html_escape('foo/bar/' . rawurlencode($baz)), html_escape($baz))?>
每次想输出链接都写累了。它使代码丑陋得要命,我敢肯定我错过了一些地方。在某些情况下,输入被不恰当地“清理”并且这种行为不能被关闭;例如,如果用户输入一个包含%10
在任何表单输入字段中,该子字符串在应用程序看到它之前被删除。
我的代码依赖于许多 CodeIgniter 库,包括数据库(活动记录模式)、电子邮件、表单验证、分页和会话。
什么是另一个 PHP 框架:
- 基于MVC模式;
- 有一个合适的模板引擎并且不擅长逃避事情;
- 从 CodeIgniter 过渡到相对容易(具有大多数相同的库)
?