Ты немного смешиваешь вещи.
authenticateUser();
работает на сервере, а аутентификация происходит на клиенте. Вы не можете остановиться в середине выполнения сценария PHP для аутентификации клиента, а затем продолжить выполнение сценария PHP.
В качестве решения вашего вопроса это может работать в вашем случае:
if(authenticationNeeded)
{
// redirect to a page that requires authentication that does what index was supposed to do.
redirect('index_ssl.php');
}
Используя .htaccess
, вы можете определить SSLVerifyClient require
только для некоторых каталогов / файлов.
Ключевым моментом является то, что вашему веб-серверу (в данном случае Apache) требуется сертификат клиента для предоставления доступа к любым каталогам / файлам, для которых вы указываете SSLVerifyClient require
.
В заключение, нет способа сделать то, что вы хотите. У вас могут быть только файлы / каталоги, которые либо требуют, либо не требуют сертификата клиента. Нет способа остановиться в середине PHP-файла, чтобы потребовать сертификат клиента, но вы можете перенаправить на тот, который требует сертификат.