Diğerlerinin de belirttiği gibi, tarayıcının davranışını değiştirmenin tek yolu, yanıtın bir 401 durum kodu içermediğinden veya içeriyorsa, WWW-Authenticate: Basicbaşlığı içermediğinden emin olmaktır . Durum kodunu değiştirmek çok anlamsal ve istenmeyen bir durum olmadığından, iyi bir yaklaşım,WWW-Authenticate başlığı . Web sunucusu uygulamanızı değiştiremiyorsanız veya değiştirmek istemiyorsanız, her zaman Apache aracılığıyla sunabilir veya proxy yapabilirsiniz (zaten Apache kullanmıyorsanız).
Burada, Apache'nin WWW-Authenticate üstbilgisini kaldırmak için yanıtı yeniden yazması için bir yapılandırma X-Requested-With: XMLHttpRequestbulunmaktadır. başlık WWW-Authenticate: Basic.
Apache 2.4 üzerinde test edilmiştir (2.2 ile çalışıp çalışmadığından emin değil). Bu, mod_headerskurulmakta olan modüle bağlıdır. (Debian / Ubuntu'da sudo a2enmod headersve Apache'yi yeniden başlatın)
<Location />
# Make sure that if it is an XHR request,
# we don't send back basic authentication header.
# This is to prevent the browser from displaying a basic auth login dialog.
Header unset WWW-Authenticate "expr=req('X-Requested-With') == 'XMLHttpRequest' && resp('WWW-Authenticate') =~ /^Basic/"
</Location>