欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-04-21 09:50:58
...
以前,在vps或独立主机之类的环境下,都是在文件系统直接写文件的;

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

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

回复内容:

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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