Code Igniter中的多语言管理员的Linux权限问题

时间:2012-09-17 15:24:09

标签: php linux codeigniter permissions user-permissions

我创建了一个管理面板,为CI应用程序添加新语言......

这是必需的,因为客户需要提供大约20种语言,他提供了所有需要使用不同语言的页面文本,而且它们主要是信息性文本,可能在将来发生变化。

所以,我创建了管理面板来加载Language directory中所有现有目录的列表,并在那里创建一个简单的CRUD来创建新的语言php文件。

一切正常但问题是服务器上的apache userFTP user不同,我无法从ftp中删除文件/文件夹。这样做我记住了一些事情:

  1. CHMOD新文件夹和语言PHP文件到777 {虽然我这样写但写完文件后将其更改为755}
  2. 将新的语言文件夹/文件放在应用程序文件夹中的其他位置,这样我就可以毫无伤害地对它进行777处理。{寻找它但无法找到任何帮助}
  3. 不知道该怎么做......
  4. 我已经将777设置为language directory以让Apache用户在目录中写入

    我有一个解决方案,可以从ftp user to apache更改项目的所有者,但是,然后将无法从ftp访问文件,所以我让我的网络人员将apache用户添加到同一组,以便我可以更改对775的许可,但他不确定它是否会起作用,并且不会更改apache用户的组。

    目前主要关注的是...application/language...application/language/*/* 777是否合适?

    如果还有其他替代方案,请告诉我如果其有效工作可以改变整个过程

    此致

1 个答案:

答案 0 :(得分:1)

离开777不会有问题。黑客仍然需要在服务器上的任何地方进行FTP或写访问才能编辑任何文件。只要您正确验证每个操作并在CodeIgniter中使用CSRF保护,您就可以了。

此外,您可能希望添加与其他CodeIgniter目录中相同的index.html,指出“不允许直接访问”。

我多次使用这些方法,他们可以完成您的需要,而不会让自己受到威胁。