gpt4 book ai didi

php - 在 uploadify 中传递 $_SESSION

转载 作者:可可西里 更新时间:2023-10-31 22:47:47 26 4
gpt4 key购买 nike

我正在使用 uploadify 允许以表单形式上传图片。

我遇到的问题如下:

要提交表单,用户必须先登录。图片最好上传到路径/uploads/

问题是,uploadify 的 swf 连接到的 php 脚本没有获取当前事件的 session 。那意味着我做不到

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

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

?>

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

所以我可以做

脚本数据:{ 用户名:'<?php echo $_SESSION['username'] ?>' }

在 javascript 部分和 php 将接收变量。但这并不安全....有人可以随意修改信息并制作{username: whatever-he-wants}。

我怎样才能解决这个问题?

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

最佳答案

不安全的是:

在请求中发送 session ID,并让服务器使用该 session ID(如果已发送)。

当我使用 swf uploader 时,我就是这么做的。像这样:

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

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

<?php echo session_id(); ?>

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

关于php - 在 uploadify 中传递 $_SESSION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6258456/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com