Check if request is ajax

Проверяет является ли запрос AJAX запросом.

Через проверку наличия X-Requested-With: XMLHttpRequest.
This commit is contained in:
Roman Kelesidis 2023-03-07 17:44:48 +07:00
commit e340305d69
3 changed files with 10 additions and 0 deletions

View file

@ -198,6 +198,11 @@ switch ($bb_cfg['datastore_type']) {
$datastore = new TorrentPier\Legacy\Datastore\File($bb_cfg['cache']['db_dir'] . 'datastore/', $bb_cfg['cache']['prefix']);
}
function is_ajax(): bool
{
return (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
}
function sql_dbg_enabled()
{
return (SQL_DEBUG && DBG_USER && !empty($_COOKIE['sql_log']));

View file

@ -147,6 +147,7 @@ define('SEARCH_TYPE_TRACKER', 1);
// Ajax error codes
define('E_AJAX_GENERAL_ERROR', 1000);
define('E_AJAX_NEED_LOGIN', 1001);
define('E_AJAX_NOT_REQUEST', 1002);
// Private messaging
define('PRIVMSGS_READ_MAIL', 0);

View file

@ -74,6 +74,10 @@ class Ajax
// Action params
$action_params = null;
if (!is_ajax()) {
$this->ajax_die('Not AJAX request', E_AJAX_NOT_REQUEST);
}
if (!$action || !\is_string($action)) {
$this->ajax_die('no action specified');
} elseif (!$action_params =& $this->valid_actions[$action]) {