У меня есть веб-страница (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:
Я не знаю, в чем причина, я проверил разрешения, я создал новый файл php для публикации, но он все равно выдает ту же ошибку.
Я размещаюсь на сервере виртуального хостинга, используя php, jquery/3.4.0. У меня есть доступ только к панели общего хостинга "CPanel", а не к серверу Linux.
Вот снимки экрана моего каталога хостинга и разрешений. Мой mainmenu.php находится в каталоге phplogin, mainmenu.php делает почтовый вызов statusHistory.php и находится в каталоге дБ
Что я должен делать по-другому, чтобы мой почтовый звонок работал? Как я уже сказал, он работал около месяца и просто перестал...
Любая помощь будет оценена по достоинству.
Дополнительные скриншоты инструментов разработчика Chrome:
@Kaddath, спасибо, я добавил больше информации на вкладку сети Chromes, пожалуйста, проверьте, поможет ли это вам.






Если это работало раньше, вам следует проверить файл .htaccess, который будет находиться в корневом каталоге вашего сайта.
В образе каталога Public html этот файл, который я указал, но 0 байт, поэтому внутри него ничего нет. Или есть другой файл .htaccess?
Проблема была mod_security. Я отключил mod_security для своего домена, и моя проблема была решена. Я свяжусь со своей хостинговой компанией и попрошу их правильно выполнить настройку.
Не уверен, почему это только начало происходить.
Не то чтобы, если я правильно прочитал, технически
403в журнале ошибок не имеет прямого отношения к скриптуstatusHistory.php, но файлErrorDocumentбыл объявлен загружаемым при возникновении ошибки, и серверу также запрещен доступ к этому файлу. Я не говорю, что первая ошибка не 403, если это так, у вас, похоже, есть ошибки два 403. Не могли бы вы проверить вкладку сети в вашем браузере, чтобы добавить подробности?