【发布时间】:2010-04-15 09:59:39
【问题描述】:
我目前正在尝试使用 PHP 创建一个 CMS,纯粹是为了教育。我希望管理员能够创建内容,这些内容将被解析并以纯 HTML 形式保存在服务器存储中,以避免执行 PHP 脚本产生的开销。不幸的是,我只能想到几种方法:
- 在 CMS 应该写入文件的每个目录上设置写入权限。这听起来是个很糟糕的主意。
- 在单个
cached目录上设置写权限。然后,PHP 脚本可以在请求时include或fopen/fread/echo来自cached目录中的文件的内容。这也许可以以 Mediawiki 式的方式进行:像index.php?page=xyz这样的东西可以在运行时从cached/xyz.html读取和回显内容。但是,我需要确保$_GET['page']的健全性,以防止像index.php?page=http://www.bad-site.org/malicious-script.js这样的讨厌的变化。
我个人对第二个想法不太感兴趣,但第一个听起来很不安全。有人可以建议一个完成这项工作的好方法吗?
编辑:我不赞成从数据库中获取数据。我唯一想从数据库中获取数据的时候是缓存内容的时候。其次,我无权访问 memcached 或任何 PHP 加速器。
【问题讨论】: