PHP_AUTH_USER未在AJAX操作中设置

时间:2015-05-27 12:03:30

标签: php ajax apache basic-authentication

我有一个使用基本身份验证的网站,访问者可以使用预定义的凭据登录。我可以到达$_SERVER["PHP_AUTH_USER"]变量,所以一切正常。 但是,当我尝试在同一个域中使用jQuery AJAX发布数据时,我无法访问$_SERVER["PHP_AUTH_USER"]变量(未在$_SERVER中设置)。

  

环境
  服务器版本:Apache / 2.4.7(Ubuntu)
  PHP版本:5.5.9-1
  Ubuntu:4.9
  (服务器API:Apache 2.0处理程序,因此不是CGI)
  铬:41.0.2272.76
  Ubuntu 14.04(64位)

任何人都可以帮忙解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

与greet一起,评论说如果你发送请求认证服务器将接受你的应用程序,因此你在Jquery Ajax方法中,并通过getAllResponseHeaders()函数定义Dentrol方法的Autentification属性,重要的一点是在基本模式身份验证使用javascript base 64(btoa)来加密用户名并通过,我希望你发现它很有用,并邀请你访问我的github,enter link description here,有一些有用的ools建立在运气时验证数据

$.ajax({
        url  : 'test_2.php',
        type : 'GET',
        beforeSend: function (xhr) {
            xhr.setRequestHeader('Authorization', 'Basic ZWxlbWVudG86ZWxlbWVudG8=');
        },
        data: {},
        success: function (e) {
            console.log(e)
        },
        error: function (e) {
            console.log(e)
        },
    });