当经过身份验证的客户端想要将文件上传到自己的服务器文件夹时,我的服务器中会有一个php文件被调用。请注意,它是一个开发网站,因此无需关注可能的问题,例如客户端垃圾邮件服务器等。我从$_POST['filePath']
获得文件路径,并且经过身份验证的用户名 $_SERVER['REMOTE_USER']
。
它们一起构成了创建文件的路径,如下所示:
users/$username/$filepath
现在文件路径是关注点(因为来自客户端的所有内容通常都是:))
客户端是否可以在文件路径字符串中发布退格,并留下修改服务器文件的方法?
以下是一些例子:
test.txt
变为users/user/test.txt
(正常行为)foo/bar.log
变为users/user/foo/bar.log
(仍然是正常行为)#8#8#8#8#8otheruser/important.txt
变为user/otheruser/important.txt
(#8代表退格,并且不需要此行为)#8#8#8...http://this.domain.com/server.cfg
变为http://this.domain.com/server.cfg
(绝对不是通缉行为)为了澄清我的问题,我想知道这是否可行,而不是用regexp来预防它。