sách gpt4 ai đã đi

jquery - 自定义摘要身份验证

In lại 作者:行者123 更新时间:2023-12-01 00:29:35 26 4
mua khóa gpt4 Nike

  • 我制作了一个用于摘要身份验证的 Http 模块。在服务器上,对于页面的每个请求,该模块都会检查是否存在“authenticate” header 。如果此 header 不存在,用户将收到 401 消息。
  • 在客户端,我使用 jQuery 插件进行摘要式身份验证。

据我所知,我有以下功能:

  1. 用户在两个输入字段中输入用户名和密码(不是在浏览器的 Http 身份验证提示中)
  2. 使用 jQuery,我可以对服务器上的某个 protected 页面进行 ajax 调用。此 ajax 调用基于 Digest Http 协议(protocol)。这意味着我要添加包含用户名、noncecount、clientnonce、MD5 哈希密码等的身份验证 header 。
  3. 然后服务器响应 200 消息:)

如果用户转到另一个页面,它将收到“401 访问被拒绝”,因为该请求中没有身份验证 header 。这就是问题所在。

  • 如果我使用标准摘要协议(protocol),那么浏览器会自动在每个请求中添加授权 header ,并且我不会遇到此问题。但我使用这种方式是因为我不知道用户在浏览器的 Http 身份验证对话框中填写他的凭据。我们想要有我们的自定义对话框。在 jQuery DigestJ 插件中, header 称为“authenticate”而不是“authorization”,协议(protocol)称为 DigestJ 而不是 Digest。这样,当服务器响应 401 消息时,我就不会收到用于输入凭据的浏览器 Http 对话框。我们不能使用表单例份验证。
  • 我可以使用 jQuery session 插件在客户端存储用户凭据,但如何修改每个请求的 Http header ?我需要添加“身份验证” header 并插入 session 中的凭据。

1 Câu trả lời

我正在使用基本的 HTTP 身份验证来使用 joomla 组件中的 REST Web 服务,并且我的用户无需输入任何内容(只需登录 joomla 一次)。我只是获取已经登录的用户,然后使用 CURL 将其发送到我的网络服务

    $ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//$username and $pass are the vars that will be used for authentication you can get them from your session or a cookie or in my case i got them from joomla JFactory::getUser()->username and JFactory::getUser()->password
curl_setopt($ch, CURLOPT_USERPWD, JFactory::getUser()->username.':'.JFactory::getUser()->password);
//here comes the important thing
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response=curl_exec($ch);

另一方面,您只需根据数据库检查 $_SERVER['PHP_AUTH_USER']$_SERVER['PHP_AUTH_PW'] 即可完成

if (!isset($_SERVER['PHP_AUTH_USER'])||$_SERVER['PHP_AUTH_USER']==''||!isset($_SERVER['PHP_AUTH_PW'])||$_SERVER['PHP_AUTH_PW']=='') {
header('WWW-Authenticate: Basic realm="Something"');
header('HTTP/1.0 401 Unauthorized');
echo 'You must be a valid user to access this contents';
ra;
} khác {
// go to your database check they are valid and return whatever you want to return
}

关于jquery - 自定义摘要身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5349865/

26 4 0
Bài viết được đề xuất: 带有 Or 的 PHP mysql SELECT QUERY
Bài viết được đề xuất: z3 - Hỗ trợ AUFBV?
Bài viết được đề xuất: mysql - 意外的 sql 查询行为。 (清楚的)
Bài viết được đề xuất: javascript - 将内容加载到 Kendo UI KendoWindow 时处理错误
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com