$ _GET抛出403

时间:2018-11-08 18:04:55

标签: php .htaccess lamp

我有一个使用$ _GET来解析URL的简单自定义MVC应用,并且我已经在我的开发服务器以及使用php 7.1的一些其他虚拟主机上运行了它……但是我正在尝试使用x10hosting免费的灯托管,并且从$ _GET传递的数据通过403 ...

我已经证明它可以在其他服务器以及我自己的开发服务器上使用

echo '<pre>', $route->path, $_GET['url'], '</pre>'; 

当转到网址http://app/admin时...循环中的这一行为我提供了应有的期望...

/admin
adminadmin

但是在x10的服务器上,我得到了

/403.shtml
admin403.shtml

我尝试使用urlencode($ _ GET)编码为base64,并使用.paccess禁用.htaccess中的mod_sec

<IfModule mod_security.c>
  SecFilterEngine Off
  SecFilterScanPOST Off
</IfModule>

这两个解决方案都不起作用...我几乎可以肯定这是服务器配置问题,但是访问范围几乎仅限于.htaccess和php.ini...。我有一段时间没有接触过php或apache了,有点丢失...任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

这听起来像是mod_security类型的问题。而且,正如您所发现的,您是unable to disable mod_security on the free hosting platform

我在许多共享主机上遇到了mod_sec规则,这些规则只是根据某些参数名阻止了请求(据说阻止了常见的XSS尝试)。 url是常见的。 site是另一个。只需更改参数名称即可。

“免费”托管帐户总是会有一些限制。如果这是唯一使您退缩的东西,那么您很幸运。