我正在创建一个 iOS 应用程序,它允许用户通过 POST 请求将图像/文本数据发送到我的网络服务器。当请求中不包含图像数据时,我成功地将 POST 发送到服务器。每当我使用图像数据进行 POST 时,服务器都会返回一个403 forbidden
。我曾尝试将以下内容添加到脚本目录中的 .htaccess 文件中,但没有成功:
Options +Indexes FollowSymLinks +ExecCGI
Order allow,deny
Allow from all
Web 浏览器和 Android 设备可以成功地将图像数据 POST 到脚本,唯一不能这样做的设备是 iPhone。
将数据发布到其他托管服务提供商的工作符合预期 - 只是这个主机(ipowerweb.com)。
我注意到当我尝试将数据发布到任何服务器上的脚本将返回一个403 forbidden
。另一个注意事项:我可以成功发布到由 ipowerweb 托管的另一台服务器,但我的服务器似乎无法处理它。
我的主机尝试解决该问题但未能解决,他们已将其标记为“已解决”,因此不再提供任何帮助。我希望保留此主机,因为搬家会很麻烦 - 我将更换主机作为最后的手段,所以请帮助我!
为什么仅当我通过 iPhone 应用程序提交数据时才会出现此 403 禁止错误?
我该如何解决这个问题才能成功发布数据?
我将非常感激任何有关我能做什么的建议。
编辑:根据请求,以下是响应标头:
{
Connection = close;
"Content-Length" = 217;
"Content-Type" = "text/html; charset=iso-8859-1";
Date = "Wed, 12 Jan 2011 19:11:19 GMT";
Server = "Apache/2";
}
编辑:根据请求,这里是请求标头(oops):
{
"Accept-Encoding" = gzip;
"Content-Length" = 5781;
"Content-Type" = "multipart/form-data; charset=utf-8; boundary=0xKhTmLbOuNdArY";
"User-Agent" = "YeahIAteThat 1.0 (iPhone; iPhone OS 4.2.1; en_US)";
}
答案1
如果作为测试,您将 User-Agent 标头的第一部分从“YeahIAteThat 1.0”更改为典型内容“Mozilla/5.0”,会发生什么情况?
答案2
这可能是因为 mod_security 已安装并且拒绝 POST 操作(因为规则?)
答案3
是不是你发的帖子地址返回的是重定向?例如,如果你有http://example.com/directory服务器会将您的客户端重定向到http://example.com/directory/并且发布请求的有效负载通常不会“重新发送”到新的目的地......