如何根据会话ID安全地创建文件

时间:2015-04-01 12:14:34

标签: php session file-upload

这是我的问题: 我想制作一个HTML表单,以允许用户将图像上传到我的网络服务器。当用户上传某些文件时,我想为他上传文件的目录。

为了以后用户可以删除文件,我想我应该将目录命名为用户会话ID ...

所以这是我的担忧:我有Chrome插件'EditThisCookie',我可以将我的PHPSESSID更改为:

'../ test'或我想要的任何字符串。

当然我可以在创建目录之前删除所有不需要的字符,但我是PHP的新手,我想知道是否有关于如何正确执行此操作的最佳实践?

更新:这就是我现在这样做的方式。可以吗?

if(! preg_match('/^[0-9a-zA-Z]+$/', session_id())){
    session_regenerate_id();
}

1 个答案:

答案 0 :(得分:0)

可以使用Session Cookie值。

但通常人们会将会话ID与用户的远程地址(IP)一起保密并对其进行验证,因此请求需要具有正确的会话Cookie值和远程地址。

这样就不会有任何不需要/未经验证的cookie值写入您的磁盘,也不会通过cookie操作滥用。