当前位置: 首页 > news >正文

企业网站建设方案书目录教育培训机构前十名

企业网站建设方案书目录,教育培训机构前十名,做英文网站地图,龙岗区网站建设http 的认证方式 基本认证(Basic Authentication): 基本认证是最简单的HTTP认证方式。客户端在请求头中使用Base64编码的用户名和密码进行身份验证由于仅使用Base64编码,基本认证并不安全,因此建议与HTTPS一起使用,以…

http 的认证方式

  1. 基本认证(Basic Authentication):
    • 基本认证是最简单的HTTP认证方式。客户端在请求头中使用Base64编码的用户名和密码进行身份验证
    • 由于仅使用Base64编码,基本认证并不安全,因此建议与HTTPS一起使用,以加密传输

具体详细讲解:https://www.cnblogs.com/xy-ouyang/p/12600055.html
https://datatracker.ietf.org/doc/html/rfc7617

  1. 摘要认证(Digest Authentication):
    • 摘要认证是比基本认证更安全的一种方式。它通过在服务器和客户端之间交换摘要值来进行身份验证。
    • 客户端发送请求后,服务器返回一个随机值(称为nonce),客户端使用用户名、密码、nonce和其他信息计算出一个哈希值,然后将其发送到服务器进行验证。
    • 摘要认证提供了更好的保护,防止密码在传输过程中被窃取,但仍然需要注意保护nonce的安全性。

具体详细讲解:https://datatracker.ietf.org/doc/html/rfc7616

  1. Bearer Token认证:
    • Bearer Token认证是一种常用于OAuth 2.0和单点登录(SSO)系统的方式。客户端在请求头中发送一个令牌(token)来进行身份验证。
    • 令牌通常在登录后由服务器分发,客户端需要将令牌存储起来,然后在每次请求中发送给服务器进行验证。
    • Bearer Token认证可以是无状态的,但也需要保护令牌的安全性,避免泄露。

具体详细讲解: https://datatracker.ietf.org/doc/html/rfc6750#section-3

  1. 客户端证书认证:
    • 客户端证书认证是一种高度安全的方式,客户端在请求中使用证书进行身份验证。
    • 客户端需要事先获取一个证书,服务器会验证该证书的有效性和授权。
    • 这种方式适用于需要高级别的安全性保护的场景,如金融、医疗等领域。

代码实现方式:

项目中使用的几种实现方式:

  1. 基本认证(Basic Authentication):
std::tuple<QByteArray, QString, int> Http::Post(const QString &url, const QByteArray &array_data)
{qDebug()<<array_data<<url;QNetworkReply *Net_Reply;QNetworkAccessManager Net_Manage;QNetworkRequest Net_Request;QSslConfiguration conf = Net_Request.sslConfiguration();//"Basic dGVzdDoxMjPCow==" == "Basic" + " " + base64("用户名:密码")Net_Request.setRawHeader("Authorization","Basic dGVzdDoxMjPCow==");Net_Request.setUrl(url);QEventLoop Loop;Net_Reply = Net_Manage.post(Net_Request,array_data);connect(Net_Reply,SIGNAL(finished()),&Loop,SLOT(quit()));connect(Net_Reply,SIGNAL(error(QNetworkReply::NetworkError)),&Loop,SLOT(quit()));Loop.exec();QByteArray array = Net_Reply->readAll();qDebug()<<array;qDebug()<<Net_Reply->errorString();Net_Reply->deleteLater();return std::make_tuple(array,Net_Reply->errorString(),int(Net_Reply->error()));
}
  1. 摘要认证(Digest Authentication):
      std::tuple<QByteArray, QString, int> Http::Post(const QString &url, const QByteArray &body_data)
{qDebug()<<array_data<<url;QNetworkReply *Net_Reply;QNetworkAccessManager Net_Manage;QNetworkRequest Net_Request;// "Digest XXXXX" == "Digest" + " " + "加密内容"// 具体看双方协商怎末对内容加密// 可能: 客户端生成 nonce 随机数, 以及服务端返会的slat// key = MD5(nonce + slat)// content = hamc(body_data, key) Net_Request.setRawHeader("Authorization","Digest content");Net_Request.setRawHeader("nonce","XXXXXXXXXXXX")Net_Request.setUrl(url);QEventLoop Loop;Net_Reply = Net_Manage.post(Net_Request,body_data);connect(Net_Reply,SIGNAL(finished()),&Loop,SLOT(quit()));connect(Net_Reply,SIGNAL(error(QNetworkReply::NetworkError)),&Loop,SLOT(quit()));Loop.exec();QByteArray array = Net_Reply->readAll();qDebug()<<array;qDebug()<<Net_Reply->errorString();Net_Reply->deleteLater();return std::make_tuple(array,Net_Reply->errorString(),int(Net_Reply->error()));
}
  1. Bearer Token认证:
std::tuple<QByteArray, QString, int> Http::Post(const QString &url, const QByteArray &array_data)
{qDebug()<<array_data<<url;QNetworkReply *Net_Reply;QNetworkAccessManager Net_Manage;QNetworkRequest Net_Request;// "Bearer mF_9.B5f-4.1JqM" == "Bearer" + " " + Token// 具体看实际需求,有可能鉴权既有token 也有 摘要Net_Request.setRawHeader("Authorization","Bearer mF_9.B5f-4.1JqM");Net_Request.setUrl(url);QEventLoop Loop;Net_Reply = Net_Manage.post(Net_Request,array_data);connect(Net_Reply,SIGNAL(finished()),&Loop,SLOT(quit()));connect(Net_Reply,SIGNAL(error(QNetworkReply::NetworkError)),&Loop,SLOT(quit()));Loop.exec();QByteArray array = Net_Reply->readAll();qDebug()<<array;qDebug()<<Net_Reply->errorString();Net_Reply->deleteLater();return std::make_tuple(array,Net_Reply->errorString(),int(Net_Reply->error()));
}

WWW-Authenticate 和 Authenticate 的介绍

`WWW-Authenticate` 和 `Authenticate` 是两个与HTTP认证相关的HTTP头部字段,用于客户端和服务器之间交换身份验证信息。它们的区别在于使用的上下文和位置。

两者区别:

  1. WWW-Authenticate

    • WWW-Authenticate 是服务器在HTTP响应中使用的头部字段。当客户端请求受保护的资源但未提供有效的身份验证信息时,服务器会返回一个"401 Unauthorized"响应,并在响应头中添加 WWW-Authenticate 字段,以提示客户端进行合适的身份验证。

    • 服务器使用 WWW-Authenticate 来指示客户端应该使用哪种认证方式(如基本认证、摘要认证等)来验证其身份。

  2. Authenticate

    • Authenticate 是客户端在HTTP请求中使用的头部字段。客户端在请求中包含 Authenticate 字段来提供身份验证凭据,以验证其身份并请求访问受保护的资源。
    • 这是客户端在发起身份验证请求时使用的字段,通常与请求中的身份验证方式(如基本认证、Bearer Token等)一起发送。

使用场景:

  • WWW-Authenticate 在服务器响应中使用,通常是在用户尝试访问受保护资源时,服务器要求客户端进行身份验证的情况下。客户端会根据这个头部字段指示的认证方式提供相应的凭据。

  • Authenticate 在客户端请求中使用,当客户端向服务器发送请求时,它可能会在请求头中包含 Authenticate 字段,以根据服务器的要求提供相应的身份验证凭据。

总结来说,WWW-Authenticate 是服务器告知客户端应该如何进行身份验证的方式,而 Authenticate 是客户端在请求中提供身份验证凭据的方式。它们一起协同工作,确保通信双方能够进行有效的身份验证并访问受保护的资源。

http://www.wangmingla.cn/news/149459.html

相关文章:

  • wordpress悬浮工具安卓手机优化神器
  • 网站 添加备案号又一病毒来了比新冠可怕
  • 网站建设做的人多吗百度seo推广计划类型包含
  • 温州网页模板建站深圳网络推广网站推广
  • 写作网站5妙不写就删除百度指数免费添加
  • 长沙免费网站排名河北网站建设案例
  • 青海高端网站建设多少钱seo关键词推广话术
  • 北京网站seo优化排名推一手新闻发稿平台
  • 天津做网站制作公司百度网站提交入口
  • 遵义住房和城乡建设局官方网站各大网站
  • 蜘蛛网站长工作职责今天重大新闻头条
  • 淘宝网站如何做虚拟机营销软件站
  • 做水果网站用什么域名网址链接
  • 个人网站建设教程网络营销百科
  • 网站防站国内高清视频素材网站推荐
  • 网站栏目建设征求意见成都网络推广优化
  • 一个网站放两个vps网推平台有哪些
  • 企业网站建设知乎广州新闻报道
  • 如何把地图放到自己做的网站上全网整合营销平台
  • 资讯网站如何做聚合百度今日数据统计
  • 外贸有限公司英文网站手机怎么制作网站
  • 在哪些网站做兼职比较可靠上海app定制开发公司
  • 有什么网站做兼职靠谱一些西安百度百科
  • 如何做后端网站管理广州seo外包多少钱
  • 自己在线制作logo免费网站关键词seo是什么意思
  • 玉林网站建设上海网络推广公司排名
  • 响应式网站改为自适应新闻摘抄2022最新5篇
  • 北京智能网站建设系统加盟网络推广网站
  • 平安建设宣传音频免费下载网站舆情监控
  • 马和人做人和牛做网站西安全网优化