Ответ в том, что вы не можете.
Лучшее, что вы можете сделать, это установить контрольно-пропускной пункт, который легко обойти. Так что, если вы делаете это только для , чтобы не дать другим людям напрямую получить доступ к вашим AJAX API, не проходя через ваш Javascript, тогда может быть достаточно сделать что-то вроде проверки серверной переменной HTTP_X_REQUESTED_WITH
. Но это легко обойти.
Если вы делаете это для безопасности, простой ответ заключается в том, что это невозможно.
При разработке вашего внутреннего AJAX API вы должны просто помнить, что все, что может запросить ваш Javascript, может также запросить внешний клиент (например, робот). Поэтому не разглашайте информацию, которую вы бы не хотели, чтобы кто-либо другой мог видеть, и не разрешайте запросу выполнять какие-либо действия, которые вы не хотели бы, чтобы кто-либо другой мог выполнять.
Если вам нужно предоставить доступ только аутентифицированным пользователям, вам нужно применить ту же аутентификацию к вашему AJAX API, что и для остальной части вашего сайта, так как сторонняя сторона может запросить ее так же легко, как и остальные. вашего сайта.