我创建了一个管理面板,为CI应用程序添加新语言......
这是必需的,因为客户需要提供大约20种语言,他提供了所有需要使用不同语言的页面文本,而且它们主要是信息性文本,可能在将来发生变化。
所以,我创建了管理面板来加载Language directory
中所有现有目录的列表,并在那里创建一个简单的CRUD来创建新的语言php文件。
一切正常但问题是服务器上的apache user
与FTP user
不同,我无法从ftp中删除文件/文件夹。这样做我记住了一些事情:
我已经将777
设置为language directory
以让Apache用户在目录中写入
我有一个解决方案,可以从ftp user to apache
更改项目的所有者,但是,然后将无法从ftp访问文件,所以我让我的网络人员将apache用户添加到同一组,以便我可以更改对775的许可,但他不确定它是否会起作用,并且不会更改apache用户的组。
目前主要关注的是...application/language
和...application/language/*/*
777是否合适?
如果还有其他替代方案,请告诉我如果其有效工作可以改变整个过程
此致
答案 0 :(得分:1)
离开777不会有问题。黑客仍然需要在服务器上的任何地方进行FTP或写访问才能编辑任何文件。只要您正确验证每个操作并在CodeIgniter中使用CSRF保护,您就可以了。
此外,您可能希望添加与其他CodeIgniter目录中相同的index.html,指出“不允许直接访问”。
我多次使用这些方法,他们可以完成您的需要,而不会让自己受到威胁。