谁能告诉我为什么以下URL返回406错误:
http://kolek.to/functions/remote-upload.php?url=http%3A%2F%2Fben-major.co.uk%2Fhosting%2Fbm-equipment%2Faxe-2.jpg&item_id=2
删除 ?url=
参数似乎使一切正常:
http://kolek.to/functions/remote-upload.php?item_id=2
remote-upload.php
的内容如下,供大家参考:
<?php
require_once('../models/api.php');
$request_url = urldecode($_REQUEST['url']);
$item_id = $_REQUEST['item_id'];
echo $item_id;
?>
我认为这是由于来自服务器的安全过滤器(我在响应标头中看到的是Apache)。
在您的情况下,默认情况下打开的 Apache mod_security
。虽然您可以使用以下命令来诊断问题(关闭筛选器应该可以解决问题),但在服务器上运行以下命令:
SecFilterEngine off
但是这样做仅用于检查问题是否出在安全过滤器上,我不鼓励关闭过滤器(注入和垃圾邮件攻击的危险)。
如果您发现过滤器是导致问题的原因,请尝试将您的请求放入白名单:在这里你可以找到指南,这里是主要网站。