thinkphp使用flash上传验证登录问题

来源:互联网 发布:淘宝怎么看宝贝权重 编辑:程序博客网 时间:2024/04/30 11:02
session(array('id'=>$_GET["PHPSESSID"]));

使用 tp 做的后台需要使用swfupload 插件上传图片的时候,需要注意文件上传的安全性,就必须在上传接口检验用户的登录状态。但是由于flash 与 浏览器不是在同一个进程,所以flash上传图片请求PHP接口的时候不会带上session_id,此时需要自己使用参数把session_id带上。


但是我遇到这样的问题。 已经使用了 

session(array('id'=>$_GET["PHPSESSID"]));

设置session_id。但是还是读取不到session。几经调试后发现 session_id() 这个函数必须要在 session_start()之前使用。如是想使用THINKPHP 的配制config.php 文件来处理这个 session_id。查找文档发现可以使用如下配制

'SESSION_OPTIONS'       =>  array(), // session 配置数组 支持type name id path expire domain 等参数

但是这个配制在那里修改好呢? 考虑后我想使用thinkphp 的行为扩展,在程序开始的时候修改配制。
发现thinkphp的流程
应用开始(app_begin)标签位侦听并执行绑定行为调用SESSION_OPTIONS配置参数进行Session初始化(如果不是命令行模式)根据请求执行控制器方法如果控制器不存在则检测空控制器是否存在控制器开始(action_begin)标签位侦听并执行绑定行为默认调用系统的ReadHtmlCache行为读取静态缓存(HTML_CACHE_ON参数开启)


所以我要在 app_begin 之前 设置 session_id, 在action_begin 检验 session。



0 0
原创粉丝点击