云应用引擎服务,不允许直接写文件操作,对于在线安装“主题”或生成”静态html文件“,应该采取什么变通的方式去实现呢?

二眉
  • 207

以前,在vps或独立主机之类的环境下,都是在文件系统直接写文件的;

现在,在BAE、SAE、ACE等应用引擎的环境下,禁止对APP自身目录文件写操作,他们提供了其他数据持久化的方式(临时目录、专门的文件服务、各种DB)。但是,对于“主题文件”和“静态html文件”来说,还是保存在原来规划好的目录比较合适。

问:这种情况,有什么别的应对办法?

回复
阅读 4.7k
6 个回答

第一种先说写入的问题,你只能写入到文件服务中,这个没有办法,读取也只能如此。但是你是可以给存储在文件系统中的文件一个访问的url的,这个url返回的就是你的文件内容。所以你可以吧css、js写到文件系统,然后引用url修改文件服务器的url。

周良粥凉
  • 888

1.关于这个,我记得我曾经看到过一个案例,生成html文件存到数据库里面,然后调用。差不多这个思路。

2.SAE是用SVN操作的,你也可以本地文件提交上去,我个人就这么干的。

3.你也可以考虑生成html文件的时候,用反向代理实现。

5.如果你是要搭建静态博客等类似程序,还不如找个国内的静态存储服务(如:七牛、upyun),把程序安装到哪里,七牛是可以生成html静态文件,也就是说支持静态博客等程序(无数据),upyun我没测试过

6.如果是wordpress等程序,主题什么的修改,确实麻烦!建议本地搭建环境,然后吧SAE上面的文件同步下了,本地修改测试完毕以后,再用SVN提交

我觉的这个是一个非常好的进步,比如前两天就有一个案例:php脚本插入木马,如何清理?

题主的这个问题还是设计思路的问题,比如主题文件,算是动态存储,可以在网页的部署/安装程序中写入初始主题文件,然后用户可以手动添加。

静态文件可以直接放到应用存储中,若是生成的html缓存文件,可以通过反向代理来实现。

svn或git更新,用习惯了你就会发现,更好了。

没有的时候,你就会问『为什么云应用引擎服务允许直接写文件操作,对于恶意脚本造成的漏洞该如何应付?』


我不认为这种方式好,我倒是觉得把这种东西存入缓存更好,你觉得呢?

李璐_猪哥
  • 1
新手上路,请多包涵

非常讨厌的事情。SAE、ACE都是比较落后的应用引擎了,BAE不是采用轻量级的容器技术了吗?应该没有这些限制了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏