Ошибка 403 Запрещено при выполнении пост-звонка с помощью jquery ajax-вызова в том же домене - PullRequest
0 голосов
/ 25 июня 2019

У меня есть веб-страница ( mainmenu.php ) с функцией JavaScript в качестве сценария на веб-странице. Имя функции java-скрипта: statusHistoryUpdate(status)

Эта функция выполняет ajax пост-вызов php-файла, расположенного в том же домене, что и моя веб-страница. Вот код функции:

                    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, на который я отправляю сообщение: 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>

Все это работало до тех пор, пока в эти выходные что-то не изменилось, и теперь, когда этот почтовый вызов выполняется, он выдает мне ошибку 403 Запрещено , у вас нет разрешения на доступ к /db/statusHistory.php

Это предупреждение об ошибке: часть вызова ajax:

enter image description here

Я не знаю, что является причиной этого, я проверил разрешения, я создал новый файл php для публикации, но он все еще дает мне ту же ошибку.

Я размещаюсь на сервере общего хостинга, используя php, jquery / 3.4.0. У меня есть доступ только к панели общего хостинга "CPanel", а не к серверу Linux.

Вот скриншоты моей директории хостинга и разрешения. Мой mainmenu.php находится в каталоге phplogin , mainmenu.php делает почтовый вызов statusHistory.php и находится в каталоге дб

Публичный html-каталог: enter image description here

phplogin Каталог: enter image description here

БД Справочник: enter image description here

Что я должен делать по-другому для моего почтового звонка на работу? Как я уже сказал, он работал около месяца и просто остановился ...

Любая помощь будет оценена.

Больше скриншотов Chrome Developer Tools:

Вкладка "Сеть": enter image description here

enter image description here enter image description here enter image description here

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

Я боролся в течение 2 дней, пытаясь выяснить, в чем проблема, оказалось, что проблема была в mod_security. Я отключил mod_security для своего домена, и моя проблема была решена, я свяжусь с моей хостинговой компанией и попрошу их правильновыполните настройку.

Не уверен, почему это только начало происходить.

0 голосов
/ 25 июня 2019

Если раньше он работал, вам следует проверить файл .htaccess, который будет находиться в корневом каталоге вашего сайта.

...