备忘:swfUpload注意事项
Submitted by gouki on 2009, March 9, 4:40 PM. PHP
在使用swfupload上传文件的时候,老是绕不过登录验证。查了一下GOOGLe,没查到,问了百度,他告诉我答案:
swfuplaod在上传时,会新开一个进程,和原来的进程不一致,要解决这个问题,需要指定session_id,然后在登录页面判断,如果有post过来的session_id,那么就用函数session_id( $_POST['PHP_SESSIONID'])指定一下。
上传页的JS里面,可以获取当前的SESSION_ID的。
例如上传页的JS中:
post_params: {"PHPSESSID": "<?php echo session_id(); ?>"},
在验证的判断页中:
if (isset($_POST["PHPSESSID"])) {
session_id($_POST["PHPSESSID"]);
}
(这一段是网上的注释:在带有Session验证的网站后台中SWFUpload无法正常工作,这是因为SWFUpload在上传时相当于重新开辟了一个新的Session 进程,因此无法与原有程序的Session保持一致,这就需要在上传时传递原有程序的SessionID,根据它来“找回”其应有的Session。)
本站采用
创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"
易栈网-膘叔", 保留原始链接, 此外还必须标注原文标题和链接.
Tags: swfupload
« 上一篇 | 下一篇 »
只显示10条记录相关文章
又是swfupload惹的祸 (浏览:
27695, 评论:
0)
Yii的Euploadify插件使用 (浏览:
22453, 评论:
0)
开发笔记记录 (浏览:
20770, 评论:
0)
4条记录访客评论
不知道你们试过两个人同时上传图片的话,响应会变乱,很严重的问题,解决了可以发到我邮箱么
Post by 杨微 on 2009, April 1, 3:08 PM #1
关于你们说的这个问题,我也想过。
大概因为IE的特殊性吧,即使是以tab方式打开或者以新窗口打开,COOKIE都会保存的。但firefox或许就不一样了。所以我们的程序在IE下一切正常,但在FF下就不正常。。
Post by gouki on 2009, March 11, 10:57 PM #2
会不会是没有把COOKIE回传回去,导致session id丢失呢?普通的POST操作是由浏览器完成的,会自动带上COOKIE回传,如果swf upload是通过flash自己构造POST的数据向服务器发送的话,我觉得是不是需要自己设置request header中的cookie呢?就跟自己写请求一样,要自己指定附带上cookie
Post by yhustc on 2009, March 11, 3:13 PM #3
用flalsh上传的时候除了ie的其它浏览器要加上当前cookie中的一些特殊身份标识,以提供给后台接口 表明自己当前有身份
Post by meteoric_cry on 2009, March 11, 1:25 AM #4
发表评论