Basic authentication: Difference between revisions

No edit summary
No edit summary
Line 11: Line 11:
Next add the following line to your script right before the authentication:
Next add the following line to your script right before the authentication:


  list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':' , base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));
  <syntaxhighlight lang="php">list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':' , base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));</syntaxhighlight>


Now your script should work with basic authentication.
Now your script should work with basic authentication.

Revision as of 11:37, 23 June 2018

Because in our webserversetup PHP is installed as a common gateway interface (CGI) basic authentication will not work in its usual way. There is however a workaround. First add a .htaccess file with following code in it:

<IfModule mod_rewrite.c> 
RewriteEngine on \n
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
</IfModule>


Next add the following line to your script right before the authentication:

list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':' , base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));

Now your script should work with basic authentication.