在同一域上使用 jquery ajax 进行 post 调用时出现错误 403 被禁止

Error 403 Forbidden when making post call with jquery ajax call on same domain

我有一个网页(mainmenu.php),网页中有一个java脚本函数作为脚本。 java 脚本函数名称是:statusHistoryUpdate(status)

此函数对与我的网页位于同一域中的 php 文件执行 ajax post 调用。这是函数代码:

                    function statusHistoryUpdate(status)
                    {


                           var data = {
                                reg_no: selectedRegNo,
                                status: status,
                                progress_id : selectedProgress
                            };
                            data = $(this).serialize() + "&" + $.param(data);
                          //alert(data);
                          $.ajax({
                          type: "POST",
                          dataType: "json",
                          url: "../db/statusHistory.php", //Relative or absolute path to response.php file
                          data: data,
                          beforeSend: function(){

                            $('#loading').toggle();
                            //$("#submitbutton").html( "<button id='buttonsubmit' class='btn btn-primary btn-lg btn-block' type='submit' value='Register' disabled> <span class='spinner-border spinner-border-md'></span>Loading..</button>");
                          },
                          success: function(data) {

                              getData();
                          },
                          complete: function(){
                            //$('.ajax-loader').css("visibility", "hidden");
                            $('#loading').toggle();

                          },
                           error: function(xhr, status, error) {
                            alert(xhr.responseText);
                          }
                        });
                    }

你会看到我的 url 我 post 是 url: "../db/statusHistory.php"

使用 mainmenu.php.

中的按钮调用此函数
<button id="'.$progress_id.'" type="button" class="btn btn-primary btn-sm btn-block" onclick="updateStatus('.$progress_id.',\''.$status.'\',\''.$reg_num.'\')">Update Status</button>

所有这一切都在这个周末之前发生了一些变化,现在当这个 post 调用被执行时它给了我一个错误 403 Forbidden,你没有权限访问 /db/statusHistory.php

这是错误中的警报:ajax 调用中的一部分:

我不知道是什么原因造成的,我检查了权限,我创建了一个新的 php 文件到 post 但它仍然给我同样的错误。

我在共享托管服务器上托管,使用 php、jquery/3.4.0。 我只能访问共享主机面板 "CPanel" 而不是 linux 服务器。

这是我的托管目录和权限的屏幕截图。我的 mainmenu.php 在目录 phplogin , mainmenu.phpstatusHistory.php 进行 post 调用,它在目录 db

Public html 目录:

php登录目录:

数据库目录:

我应该为我的 post 工作电话做哪些不同的事情?正如我所说,它确实工作了大约一个月,然后就停止了...

如有任何帮助,我们将不胜感激。

更多屏幕截图chrome 开发者工具:

网络选项卡:

如果它之前有效,您应该检查您的 .htaccess 文件,该文件将位于您网站的根目录中。

问题是 mod_security。我为我的域禁用了 mod_security,我的问题已解决。我会联系我的托管公司并要求他们正确地进行设置。

不确定为什么会这样。