编程语言
首页 > 编程语言> > php – 在uploadify中传递$_SESSION

php – 在uploadify中传递$_SESSION

作者:互联网

我正在使用uploadify来允许在表单中上传图片.

我遇到的问题如下:

要提交表单,用户必须登录.
图像,理想情况下将上传到路径/上传/

问题是,uploadify的swf连接的php脚本没有得到当前活动的会话.这意味着我做不到

<?php
// this would be the backend script that handles the upload

session_start();
$username = $_SESSION['username'];
$upload_path = "/uploads/$username/";

?>

现在,uploadify允许您以JSON格式将$_POST信息传递给php脚本.

所以我能做到

scriptData:{username:’<?php echo $_SESSION ['username']?>‘}

在javascript部分和PHP将收到变量.但这并不安全……有人可能会对这些信息进行调整并使{用户名:无论他想要什么}.

我该如何解决这个问题?

tl; dr – 使用uploadify时,如何在后端脚本中使用现有的$_SESSION变量?

解决方法:

不安全的是:

使用请求发送会话ID,并让服务器使用该会话ID(如果已发送).

当我使用swf上传器时,我做到了.像这样的东西:

if ( !empty($_POST['sess']) ) {
    session_id($_POST['sess']);
}
session_start();

在您发出请求的页面上,您将获得会话ID:

<?php echo session_id(); ?>

应该工作,但也不是很安全.我的建议:不要使用swf uploader =)HTML5引入accept =“mimetypes”和多个作为文件输入属性. See the specs.如果客户端不支持这样的HTML5:太糟糕了

标签:php,uploadify
来源: https://codeday.me/bug/20190530/1187128.html