2015-04-01 47 views
1

这是我的问题: 我想制作一个HTML表单以允许用户将图像上传到我的网络服务器。当用户上传一些文件时,我想为他上传文件的目录创建一个目录。如何安全地创建基于会话编号的文件

这样用户可以在以后删除文件,我想我应该命名目录作为用户会话ID ...

因此,这里是我的关心:我有镀铬插件“EditThisCookie”,我可以更改我的PHPSESSID为这样的:

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

当然,我可以在创建目录之前删除所有不需要的字符,但我对PHP非常陌生,并且想知道是否有正确的做法的最佳做法?

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

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

回答

0

为此使用Session Cookie值很好。

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

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

+0

谢谢,我更新了我的帖子,你认为那可以吗? – moesn 2015-04-01 14:44:12

+0

这看起来不错。您可能遇到的唯一问题是,某人“窃取”了另一个人的ID并覆盖或删除他的图像。 – Marc 2015-04-01 14:47:57