【发布时间】:2013-02-26 04:50:37
【问题描述】:
我正在建立一个允许某些用户撰写评论的网站,并且我希望在他们这样做时自动生成一个小的 php 文件。设置帐户/组/文件权限以允许此操作的最安全方法是什么?理想情况下,我希望评论作者能够更改标题以防万一他们犯了错误,这将要求 php 不仅能够创建文件和文件夹,还能够移动和/或删除它们。但是,这不是绝对必要的。我的测试服务器正在运行 Linux/Apache,这是所有内容的最新版本,出于测试目的,我暂时将主评论文件夹的所有者设置为服务器。我也愿意接受有关如何实现这一目标的其他建议。我不是真正的 IT 人,但我可以编写 shell 脚本。
编辑:
感谢选择的答案,我能够想出一个解决方案。我使用了本指南 (http://www.seomoz.org/ugc/using-mod-rewrite-to-convert-dynamic-urls-to-seo-friendly-urls),并将其修改为仅加载所需的不带变量的 php 脚本,我设计该脚本是为了使用 $_SERVER['REQUEST_URI'] 直接从原始 URL 检索信息。这是我的 .htaccess 文件的样子;它将www.domain.com/reviews/the-review-filepath.php 发送到www.domain.com/reviews/review.php。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !^review\.php$ review.php
这样做对我来说要容易得多,因为我更多地关注 PHP 而不是正则表达式。 感谢所有回答和/或评论的人。这比我以前尝试的方式要好得多。
【问题讨论】:
-
你为什么要使用文件系统而不是像 MySQL 这样的合适的数据库?
-
麦克斯韦是对的。您需要为此使用数据库。
-
我有一个包含所有评论数据的数据库,但是我认为 SEO 最好有一个占位符文件,该文件调用一个脚本,该脚本根据占位符文件中的评论编号生成页面。我觉得有必要将这些文件准备好,即使我必须亲自创建它们,而无需自动化。
-
@knoell8504 这毫无意义。抓取您的页面的搜索引擎无法知道内容是从文件还是数据库中抓取出来的。
-
@knoell8504 为此使用 mod_rewrite(因为您标记了 apache)...
标签: php linux apache file-permissions