安全基础知识

SAE下使用smarty

 SAE由于考虑到安全和分布式问题,所以本地IO写是禁止的。首先代码目录是不可写的,SAE遵循代码目录的”写执行权限互斥“的原则,这样即使代码出现漏洞,也无法篡改代码,最大程度保证代码的安全。其次存储也是严禁写本地,由于分布式的特点,文件存储请使用saestorage服务。如果应用有文件缓存需求,在SAE上是无法提供本地文件缓存服务的,我们认为IO能力属于稀缺资源,不应当用于缓存业务,你可以选择使用mc来做缓存,mc缓存更加高效而且避免了在多台服务器上多次重复缓存的问题。由于很多php函数的参数依赖文件名,所以SAE也提供了tmpfs临时存储用于解决”中间数据交换“的需求。

    为最大程度降低应用移植的难度,SAE为StorageMemcache提供了wrapper封装,分别对应”saestor://”和”saemc://”,对于大部分应用,只需要修改目录前缀即可完成代码迁移。

因为平台安全性的考虑,SAE限制了用户对于本地IO的使用,但这样对于一些传统的PHP项目,也许带来了很多不便,因为它们都或多或少的有对本地IO的操作,像Smarty的编译模板。为了解决这个问题,SAE提供了TmpFS功能。TmpFS允许开发者通过标准的IO函数临时读写本地IO,这样方便了很多非SAE项目的移植。

想在sae中使用smarty其实也不难

1、首先登录sae管理平台,初始化memcached。


2、在代码中加入下面这些代码

……

$smarty = new Smarty;

$smarty->compile_dir=’saemc://smartytpl’;

$smarty->cache_dir=’seamc://smartytpl’;

$smarty->compile_locking=false;

……

 

就是设置了一下缓存和编译缓存的路径

全国客服电话: 400-001-7880
值班技术:
13330159245

                       

扫一扫,咨询客服