«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как предотвратить прямой доступ к файлам, доступ к которым осуществляется через AJAX в PHP?

Как предотвратить прямой доступ к файлам, доступ к которым осуществляется через AJAX в PHP?

Опубликовано 12 ноября 2024 г.
Просматривать:123

How to Prevent Direct Access to Files Accessed via AJAX in PHP?

Предотвращение прямого доступа к файлам, доступ к которым осуществляется через AJAX

При доступе к файлу PHP через запрос AJAX, например "func.php", прямой доступ к этому файлу может быть проблемой безопасности. Чтобы решить эту проблему, крайне важно реализовать механизм, который различает запросы AJAX и попытки прямого доступа.

Одним из эффективных решений является использование серверной переменной «HTTP_X_REQUESTED_WITH». Большинство платформ AJAX устанавливают для этого заголовка значение «XMLHttpRequest», что позволяет отличить подлинные запросы AJAX от прямого доступа через браузер. Эту проверку заголовка можно реализовать в файле PHP следующим образом:

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) {
    // Allow access...
} else {
    // Ignore or deny access...
}

Реализуя эту проверку, вы можете гарантировать, что только законные запросы AJAX смогут получить доступ к указанному файлу, защитив его от несанкционированного прямого доступа.

Кроме того, для повышения безопасности вы можете вручную установить Заголовок «X-Requested-With» в вашем запросе AJAX с использованием следующего кода JavaScript:

var xhrobj = new XMLHttpRequest();
xhrobj.setRequestHeader("X-Requested-With", "XMLHttpRequest");

Этот шаг еще больше усиливает защиту от прямого доступа к файлам.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3