gpt4 book ai didi

php - 通过表单发送基本认证信息

转载 作者:IT王子 更新时间:2023-10-28 23:53:47 27 4
gpt4 key购买 nike

我在一个目前使用基本身份验证对话框登录系统的网站上工作,这是您访问此处时获得的对话框类型:http://www.dur.ac.uk/vm.boatclub/password/index.php我没有设置这个系统,也无法轻松/快速地解决它,但它确实有效。然而,问题是对话框在告诉您必须使用哪些登录信息(即用户名和密码组合)方面不是很有帮助,因此我想用一个表单替换它。我一直认为这是不可能的,但我想问一下以找出答案。

是否可以设置一个 HTML 表单,将数据发送到服务器,以便服务器以与使用此对话框相同的方式接受数据?或者,是否可以设置一个 PHP 脚本,该脚本将采用普通格式的数据并以某种方式处理它,将其传递给服务器以便它登录?

编辑:在被告知这是基本身份验证后,我四处寻找并设法找到一种有效的方法并使用户持续登录。但是,这在 Internet Explorer 中不起作用。解决方案只是将用户重定向到: http://username:password@www.dur.ac.uk/vm.boatclub/password/index.php但是 Internet Explorer 在大约 3 年前由于网络钓鱼用途而将其删除。有没有办法使用javascript让浏览器以这种方式访问​​网站?还是我必须简单地更改我的用户界面?

最佳答案

经过相当多的研究后,我发现了一种在 Chrome 和 IE 中都适用的方法,这就是我测试过的所有方法,但代码的逻辑并不表明它应该在任何地方中断。它基于这篇文章:

http://www.peej.co.uk/articles/http-auth-with-html-forms.html

这相当深入,但它的症结在于 - 在表单提交上,您向基本的身份验证文件夹发出 AJAX 请求。 AJAX 请求可以接受用于基本身份验证的用户名和密码信息,并且一旦浏览器在该领域中获得授权后就进行了身份验证,即它将保持登录状态。上一篇文章是用纯 javascript 实现的,所以除了简单地解释链接 这是一个(希望相当透明的)使用 jQuery 的实现:

  $(document).ready(function()
{
$('#loginForm').submit(function()
{
var username = $('#usernameInput').val();
var password = $('#passwordInput').val();

$.ajax(
{
'password' : password,
'username' : username,
'url' : 'http://www.website.com/basic-auth-file.php',
'type' : 'GET',
'success' : function(){ window.location = 'http://www.website.com/basic-auth-file.php'; },
'error' : function(){ alert('Bad Login Details');},
}
);

return false;
});
});

这实现了我想要的,并且相对容易理解,但是我恳请任何想要这个并且不了解基本身份验证的人出去做研究!

关于php - 通过表单发送基本认证信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4460543/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com