Как отличить ajax-запрос от обычного HTTP запроса

Иногда возникает необходимость отличить ajax-запрос от обычного запроса. Поможет выявить ajax-запрос простая функция:

function checkAjax() {
	if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
		return true;
	} else {
		return false;
	}
}

Но имейте ввиду, что содержимое HTTP_X_REQUESTED_WITH можно подделать на стороне клиента. Поэтому такой способ выявления ajax-запросов можно использовать только для оптимизации интерфейса UI, но никак не для защиты данных от несанкционированного доступа.

Мои PET-проекты
Матч Шредингера. Про футбол без спойлеров. Сервис помогает выбрать интересный матч для просмотра в записе. Перейти »
MafiozZz. Сервис для тех, кто любит играть в мафию. Сервис дает клубам возможность завести клубный сайт, предоставляет удобный интерфейс для ведения подобной статистики, расписания игр, выдавать игрокам награды, проводь адресную SMS рассылку (и прочие плюшки). Перейти »