我尝试做一个简单的上传表单。
我正在使用jQuery上传(https://github.com/blueimp/jQuery-File-Upload/archive/master.zip)
使用简单形式(http://pastebin.com/wCUB2EkR)(data-url =“server / php /?index.php”)
我将index.html和.js放入我的“www”目录,将server / php / [index.php,UploadHandler.php]放入csp文件夹。我添加“退出(200);”到“server / php / index.php”的末尾没有空响应
我将“entity_size”更改为没有413错误(Request Entity Too Large)
当我尝试上传文件时,我有几个问题:
在G-WAN控制台中,我有这个输出:
sh: 2: Content-Disposition:: not found
sh: 3: Content-Type:: not found
: not found
在access.log中,我有"[Mon Feb 25 10:29:53 2013 GMT] xxx "POST /server/php/?index.php" 127 828 "http://yy:8080/index.html"
我正在使用最新版本(4.2.19)
[更新]安全问题?
我只是注意到一种可怕的行为(与我的GWAN输出的结果相关联......)
而不是“server / php /?index.php”我使用一个简单的Perl脚本来获取STDIN并打印到文件(http://pastebin.com/SnXkjFya)
为了测试,我尝试使用示例命令上传一个.sh脚本,并在GWAN控制台中注意服务器实际上尝试执行所有命令以确认我的.sh文件......
我尝试使用包含“touch testgwan”的其他文件(名为test.txt),在带有POST的表单上传中上传。
文件“testgwan”是在GWAN目录的根目录创建的......
我肯定做错了,但GWAN不应该用“帖子”执行命令......
更新:
由于我们无法复制此问题,Geoffrey通过电子邮件向我们发送了他在以下平台上的测试(他使用的是AMD Phenom(tm)II X4 955处理器和一个未命名的虚拟机管理程序):
Ubuntu 12.04 32bits, G-WAN 4.2.19: problem
Ubuntu 12.04 32bits, G-WAN 4.2.27: OK
Ubuntu 10.04 32Bits, G-WAN 4.2.19: OK
Ubuntu 10.04 64Bits, G-WAN 4.2.19: OK
Ubuntu 10.04 32Bits, G-WAN 4.2.27: OK
Ubuntu 10.04 64Bits, G-WAN 4.2.27: OK
因此,对于Geoffrey来说,最新版本的G-WAN已经解决了他的问题,而之前版本的G-WAN仅在Ubuntu 12.04 32位上遇到了这个问题。
答案 0 :(得分:0)
如果您查看G-WAN提供的entity.c
示例(我们知道的源代码),那么您将看到G-WAN无法“执行” 一个POST实体。
如果明确授权,G-WAN会将POST实体上传到您定义的限制 - 这是它唯一能做的事情。
现在,因为您不提供PHP
和Python
脚本的源代码(两者都是由
鉴于您的英语水平,您可能会从与您一样会说法语的G-WAN支持团队中获益。
答案 1 :(得分:0)
由于G-WAN不是开源的(我理解为什么并同意你的观点),我不能告诉你为什么G-WAN的行为是这样的。
我正在提供源代码,甚至是“PHP”文件。
这些文件位于jQuery上传文件的“master.zip”中,这是我的第一个链接。
忘记php,perl或python内容脚本。我对“hello world”perl脚本有完全相同的行为。 (打印“helloworld”;)
GWAN有一种奇怪的行为,我猜一个安全问题(因为GWAN在输入文件中执行所有命令)。
我的表单将输入文件发送到“helloworld”perl脚本但GWAN执行文件中的所有命令(如GWAN执行“sh test.txt”)。
我的问题可能会引起其他人尝试GWAN的兴趣,所以,即使我的英语不完美,我也会继续回答。
ps:不要贬低潜在客户。你的声誉不是那么好。在法语中我们会说“Donnerlebâtonpourse faire battre”。