我正在使用jquery中的跨域AJAX,在中间使用本地转发脚本,我需要将基本身份验证信息传递到第二个域。
在PHP中,我知道我可以访问简单明文的$_SERVER['PHP_AUTH_USER']
和$_SERVER['PHP_AUTH_PW']
变量,因此我的转发脚本可以毫不费力地使用这些信息。
由于我无法控制的原因,我必须使用Perl CGI执行此任务。我知道有$ENV{REMOTE_USER}
,但我不能为我的生活弄清楚如何找到密码。我试过$ENV{HTTP_AUTHORIZATION}
,但总是空白。
如何在Perl中读取基本身份验证密码?或者,至少,我的CGI有没有办法直接读取Authorization标头,这样我就可以自己解码并拆分字符串?
谢谢!
答案 0 :(得分:1)
查看此文章:http://www.besthostratings.com/articles/http-auth-php-cgi.html。
它使用ModReWrite将Http Authorization标头写入环境变量。然后,您可以在CGI脚本中访问和解码它。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
</IfModule>