我有一个使用基本身份验证的网站,访问者可以使用预定义的凭据登录。我可以到达$_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位)
任何人都可以帮忙解决这个问题吗?
答案 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)
},
});