
除了查询缓存之外,ThinkPHP还支持SQL解析缓存,因为ThinkPHP的ORM机制,所有的SQL都是动态生成的,然后由数据库驱动执行。....
网站的上传功能也是一个非常容易被攻击的入口,所以对上传功能的安全检查是尤其必要的。系统提供的上传类ThinkUpload提供了....
可以通过URL重写隐藏应用的入口文件index.php,下面是相关服务器的配置参考:[ Apache ]httpd.conf配置文件中加载了mod_rewri....
行为(Behavior)是一个比较抽象的概念,你可以想象成在应用执行过程中的一个动作或者处理,在框架的执行流程中,各个位置都....
要使用静态缓存功能,需要开启HTML_CACHE_ON参数,并且使用HTML_CACHE_RULES配置参数设置静态缓存规则文件 。虽然也可以在应....
ThinkPHP支持模块(甚至可以包含控制器)的完整域名、子域名和IP部署功能,让你的模块变得更加灵活,模块绑定到域名或者IP后....
XSS(跨站脚本攻击)可以用于窃取其他用户的Cookie信息,要避免此类问题,可以采用如下解决方案:直接过滤所有的JavaScript....
3.2提供了灵活的扩展机制,相对于3.1版本来说,则变得更加简单。下面我们来看如何对ThinkPHP以及应用进行扩展。
在项目开发完成准备部署之前,应该检查下是否存在安全隐患,这一部分内容帮助你一起来加强项目的安全问题,指导你如何使用表....
下面的一些安全建议也是非常重要的:对所有公共的操作方法做必要的安全检查,防止用户通过URL直接调用;不要缓存需要用户认....
使用ThinkImage类进行图像处理功能,支持Gd库和Imagick库,包括对GIf图像处理的支持。实例化类库$image = new ThinkImage....
标签库加载模板中加载标签库,预加载自定义标签库,扩展内置标签库的加载 请参考:http://document.thinkphp.cn/manual_3_2.....
永远不要相信客户端提交的数据,所以对于输入数据的过滤势在必行,我们建议:开启令牌验证避免数据的重复提交;使用自动验证....
3.2版本支持根据当前的运行环境生成Lite文件,可以替换框架的入口文件或者应用入口文件,提高运行效率。我们的建议是在生产....
REST介绍REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性....
入口绑定是指在应用的入口文件中绑定某个模块,甚至还可以绑定某个控制器和操作,用来简化URL地址的访问。绑定模块例如,我....
应用模式提供了对核心框架进行改造的机会,可以让你的应用适应更多的环境和不同的要求。每个应用模式有自己的模式定义文件,....
在处理表单提交的数据的时候,建议尽量采用ThinkModel类提供的create方法首先进行数据创建,然后再写入数据库。create方法在....
Widget扩展一般用于页面组件的扩展。举个例子,我们在页面中实现一个分类显示的Widget,首先我们要定义一个Widget控制器层 C....
ThinkPHP的类库主要包括公共类库和应用类库,都是基于命名空间进行定义和扩展的。只要按照规范定义,都可以实现自动加载。公....