Я бы сказал, что эквивалент такого рода функциональности из web.config для Apache - с файлами .htaccess: PHP используется для генерации страниц, но если вы пытаетесь работать на уровне каталогов, проверка должна прийти прежде чем PHP даже вызывается.
В ваших скриптах PHP вы можете получить доступ к данным HTTP-аутентификации; см. $_SERVER
, особенно PHP_AUTH_USER
и PHP_AUTH_PW
; но защита будет на уровне файла, а не каталога - и, очевидно, она будет применена только для файлов PHP (например, не для изображений в подкаталоге).
Для получения дополнительной информации, вы можете посмотреть, например: Базовая и дайджест-аутентификация HTTP с PHP
Правильный способ сделать это для всего каталога, безусловно, с помощью файлов .htpasswd / .htaccess (или непосредственно в файле конфигурации Apache).