apache在发布请求时返回403错误,输入变量计数保持不变,值发生变化

Posted

技术标签:

【中文标题】apache在发布请求时返回403错误,输入变量计数保持不变,值发生变化【英文标题】:apache return 403 error on post request, input variable count remain same, there values change 【发布时间】:2020-03-07 22:05:40 【问题描述】:

我有一个代码(用 codeigniter 编写)在 cakephp webroot 目录内的子域上运行,代码是用 codeigniter 编写的,当发送带有一些输入值的发布请求时它工作正常,但是当值更改为其他值时,它返回 403 错误。如果出现 403 错误,服务器不会将请求交给 codeigniter 的 main index.php。尝试大量调试,但似乎没有任何效果。似乎 apache 发送 403,但我无法弄清楚是什么原因造成的。

我已经对 .htaccess 进行了更改,并使用 phpinfo() 验证了更改,但没有任何效果。谁能指导我。提前致谢

我尝试过的:

    我尝试检查错误日志文件,它只是说“找不到文件 [/home2/maindomain/subdomain/app/webroot/403.shtml]"

    还尝试在主 index.php 中打印请求,没有得到任何东西 当它抛出 403 时,在成功的情况下它会显示堆栈跟踪或什么 曾经我打印或回显。这表明在 403 的情况下,请求不是 交给index.php

    正如您在 .htaccess 中看到的,我已更改内存和时间限制, 但仍然没有效果 PHP版本:5.6

    从浏览器控制台,请求相同,没有变化,只是变量 值变化,cookie 和其他所有东西都一样

    我还检查了 CSRF,它已关闭。所以检查了 config.php 的东西 好吧。

    我也尝试在我的位置和错误日志文件中记录错误 什么都没有发生。

.htaccess 字段代码

AllowOverride 选项 允许覆盖所有 php_flag display_errors 开启 php_flag display_errors 关闭 php_value post_max_size 512M php_value memory_limit 512M php_value max_execution_time 300 php_value max_input_vars 10000 php_Value display_errors on php_value display_startup_errors on php_value upload_max_filesize 128M DirectoryIndex index.php 重写引擎开启 RewriteCond %REQUEST_FILENAME !-d RewriteCond %REQUEST_FILENAME !-f RewriteRule ^ index.php [L]

如果出现错误服务器响应为“禁止”

拒绝访问服务器上的该资源!"

成功时它是一个有效的 json。

【问题讨论】:

【参考方案1】:

能否请您添加有关您的输入值的更多详细信息,然后更改它然后不起作用? 顺便说一句,你提到你有一个子域,可能有一些配置要检查你的虚拟主机, 你在文件夹 /etc/apache2/sites-available/default 中检查了吗?

【讨论】:

它的共享主机,所以我只能访问cpanel 关于输入,这里不能写,大小为176kb,这里没有附件选项。 不幸的是,您没有对您的问题进行更多说明,我建议您放置一个文件 index.php 并放置一个 print('for test'),然后检查您的脚本是否有效,如果您收到相同的错误 403,请咨询您的托管支持。 我认为我的问题细节非常详细,因为对于某些输入同样适用,而对于其他一些输入,代码根本无法控制。所以问题出在 php ini 设置中,但找不到是哪一个 你有没有把 index.php 和 print('test on');正如我所说的那样?

以上是关于apache在发布请求时返回403错误,输入变量计数保持不变,值发生变化的主要内容,如果未能解决你的问题,请参考以下文章

Django 在发送 POST 请求时返回 403 错误

当我启用虚拟主机时 Apache 返回 403

多个输入字段数据提交上的php apache禁止错误

远程服务器返回错误:(403) Forbidden。在发布请求期间...?

请求后端接口报403错误

上传文件时禁止 Apache 403