天道酬勤,学无止境

Determine if browser supports windows integrated authentication

Is there a way to determine if a browser supports NTLM without having NTLM enabled for the particular site or directory in IIS and without showing a login dialog/pop-up? Preferably, determine this using ColdFusion or perhaps some combination of JS and CF. I'd prefer not to restrict this to just IE as other browsers (such as FF) support NTLM authentication.

评论

If you request a page and the page returns 401 and says it only accepts NTLM, and then the browser sends another HTTP packet trying to respond to it, then it supports NTLM. You don't have to make IIS do this -- you could have any page where you can set the response codes and headers request NTLM. If you don't get another request, it means that the client couldn't authenticate this way.

You could detect this on the client by putting this request in an IFrame, then in the outer page checking to see what happened in the iframe.

Building on Lou's answer, you could make a cfhttp request within a try/catch block. You then check the response headers to determine your next steps.

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 统一Portal门户和IAM平台(单点登录、统一用户资源和权限管理)实践
    一、背景和目的 解决如下问题: 打通所有系统的账户密码,只需要记住一个就行,而且登录一个系统后,打开其他系统不需要再登录。 不需要记住多个系统的地址,甚至不需要在多个系统页面跳来跳去,通过一个门户网站,串通起常用功能。 需求如下: 具备单点登录功能,并且能为第三方应用提供主流的登录认证。 具备用户的基本信息、角色、资源权限等集中管理和控制。 提供统一的集中办公Portal门户网站,在里面无缝链接其他系统的页面和功能。 关键术语: IAM(Identity and Access Management),即“身份识别与访问管理”,具有单点登录、强大的认证管理、基于策略的集中式授权和审计、动态授权、企业可管理性等功能。 本文涉及关键词: IAM, SSO, CAS, OpenID, OICD, OAUTH, SAML, Keycloak, LDAP, RSA, RBAC, MFA等。 如果这些关键词你都熟悉,就不用继续看了。 一、相关技术研究 1、单点登录 用户仅需要在门户系统登录一次,就可以获得授权范围内所有企业应用程序的访问权,用户只需要记住一个帐号即可。 1)门户认证中心 利用门户系统建立统一的 SSO 认证中心,通过 SSO 中心认证后,应用系统利用 SSO API 同 Portal Server 通信,验证用户是否经过认证。新开发的应用系统大多使用这种 SSO 的实现方式
  • 如何在没有登录弹出窗口的情况下自动验证 Windows 集成?(How to automatically authenticate windows integrate without login popup?)
    问题 我用default.aspx 写了一个asp.net 应用程序。 当我点击此页面时,它询问我 Windows 登录弹出窗口。 我的应用程序应该需要 Windows 身份验证,但它应该“集成 Windows 身份验证”。 如果我输入登录密码,我就可以看到我的页面。 如何自动集成此 Windows 身份验证? 我在 web.config 中添加了以下代码。 仍然不起作用。 <authentication mode="Windows"/> <identity impersonate="false"/> <authorization> <deny users="?"/> </authorization> 回答1 您可能希望禁用匿名访问并仅使用“集成 Windows 身份验证”。 然后在 Internet Explorer 中转到工具 -> Internet 选项 -> 安全性 -> 自定义级别 -> 一直滚动到底部并选择“使用当前用户名和密码自动登录” -> 确定 -> 确定 -> 关闭并重新打开浏览器。 这应该允许经过 AD 身份验证的用户直接进入您的页面。 回答2 我会关闭启用匿名访问并只使用“集成 Windows 身份验证”。 此外,如果您使用的是 FireFox,则在没有一些变通方法的情况下,登录用户的域令牌将不可用。 所以我会尽量坚持使用 IE,如果可以的话,让它更容易
  • proper implementation of “windows” authentication in web api?
    I've created a Web Api 2 app which will only be used on the corporate network. I've read about Windows authentication in Web API so it seems to be possible. But I need to figure out the proper implementation for this. I've included the following xml in my Web.config: <system.web> <authentication mode="Windows" /> </system.web> I seem to remember some type of event hook in old school webforms app. Something like BeginRequest() where a security check could be made before rendering a page. I included the following line of code as the first line in one of my controller methods but the returned
  • Web应用程序测试清单
    https://www.guru99.com/complete-web-application-testing-checklist.html The web application testing checklist consists of- 1 Usability Testing -易用性测试 2 Functional Testing-功能性测试 3 Compatibility Testing-兼容性测试 4 Database Testing-数据库测试 5 Security Testing-安全性测试 6 Performance Testing-性能测试 1 可用性测试用例示例 网页内容应正确无任何拼写或语法错误 所有字体应符合要求。 所有的文本都应该正确对齐。 所有错误信息应正确无拼写或语法错误,错误信息应与字段标签匹配。 每个字段都应该有工具提示文本。 所有字段都应该正确对齐。 字段标签、列、行和错误消息之间应提供足够的空间。 所有按钮都应采用标准格式和大小。 主页链接应该在每一页上。 禁用字段应灰显。 检查断开的链接和图像。 任何类型的更新和删除操作都应显示确认消息。 以不同的分辨率(640 x 480、600x800等)查看站点 检查最终用户是否可以毫无挫折地运行系统。 检查标签是否正常工作。 只有在需要时才应显示滚动条。 如果提交时出现错误消息
  • 在ASP.NET中使用Windows身份验证(Using Windows Authentication in ASP.NET)
    问题 我正在尝试在ASP.NET应用程序中使用Windows身份验证。 每当我尝试查看该应用程序时,它都会将我发送到登录页面。 我如何使其工作而不必通过浏览器手动登录? web.config <system.web> <authentication mode="Windows"></authentication> <anonymousIdentification enabled="false"/> <authorization> <deny users="?" /> <allow users="*" /> </authorization> <customErrors mode="Off"></customErrors> <identity impersonate="true"></identity> <compilation debug="true" targetFramework="4.0" /> <httpRuntime /> </system.web> 更新IIS Express后出现错误 Most likely causes: No authentication protocol (including anonymous) is selected in IIS. Only integrated authentication is enabled, and a client
  • 匿名前的 IIS Windows 身份验证(IIS Windows Authentication before Anonymous)
    问题 我有一个网站,我想同时允许 Forms 和 Windows Auth。 我的问题是,当您设置 IIS 以允许匿名(表单身份验证所需)和 Windows 身份验证时,浏览器似乎不会发送用户的网络凭据。 它只是使用匿名登录。 有没有办法在 IE8 或 IIS 中让它尝试 Windows Auth 1st 然后回退到匿名? 谢谢你的帮助。 回答1 在没有凭据的情况下,您不能要求 HTTP 身份验证(无论是基本身份验证还是集成 Windows 身份验证)而不导致身份验证对话框弹出。 因此,一般来说,对于混合 HTTP-auth+cookie-auth 方法,您可以为大部分站点启用匿名访问和身份验证访问,但只允许对一个特定脚本的身份验证访问。 当用户在没有任何一种身份验证的情况下访问页面时,您会吐出一个页面,其中包含一个基于 cookie 的身份验证的登录表单,以及一个指向仅允许经过身份验证的访问的 URL 的链接。 用户可以填写cookies&forms auth的表单,或者点击链接使用HTTP auth登录。 如果用户点击该链接,他们将收到401响应,并且必须通过身份验证对话框或可能自动使用集成的 Windows 身份验证提供 HTTP 身份验证。 一旦这种情况发生一次,浏览器将开始向以后的每个页面提交相同的凭据,因此 IIS
  • SignalR 不适用于 Windows 集成身份验证(SignalR not working with Windows-integrated authentication)
    问题 我有一个 ASP.NET MVC 4 应用程序 (.NET 4.5) 并且 SIGnalR 可以很好地使用基于表单的身份验证(通过 IIS/IIS Express 托管) 一旦我将应用程序更改为 Windows 集成身份验证(“web.config”中的<authentication mode="Windows"/> ),它就会停止工作。 jquery.signalR-2.2.2.min.js:9与ws://localhost:51030/signalr/connect?transport=webSockets&blhablahblah WebSocket ws://localhost:51030/signalr/connect?transport=webSockets&blhablahblah失败: WebSocket 握手期间出错:意外响应代码:403 将[Authorize]属性添加到我的集线器后,错误更改为 WebSocket 连接到ws://localhost:51030/signalr/connect?transport=webSocketsblahblah failed: HTTP Authentication failed; 没有可用的有效凭据 应用程序的其他部分工作正常,服务器上启用了 windows-auth 并且可以正常工作,等等。 我该如何解决这个问题
  • 在 web api 中正确实现“windows”身份验证?(proper implementation of “windows” authentication in web api?)
    问题 我创建了一个 Web Api 2 应用程序,它只能在公司网络上使用。 我已经阅读了有关 Web API 中的 Windows 身份验证的信息,因此这似乎是可能的。 但我需要为此找出正确的实现。 我在我的 Web.config 中包含了以下 xml: <system.web> <authentication mode="Windows" /> </system.web> 我似乎记得老式网络表单应用程序中的某种类型的事件挂钩。 像 BeginRequest() 之类的东西,可以在呈现页面之前进行安全检查。 我在我的一个控制器方法中包含了以下代码行作为第一行,但返回的值似乎只是一个空对象,没有任何有意义的信息: var identity = HttpContext.Current.User.Identity as WindowsIdentity; Web API 2 是否支持 Windows 身份验证? 我错过了一步吗? 如果我提交来自 Postman 的一般测试请求,Windows 身份验证是否有效? 我也试过这段代码,但得到了一个类似的空对象: var x = RequestContext.Principal; 我依稀记得有一个 IIS 设置,比如“启用集成安全性”。 你能指定确切的设置吗? 如果我在 IIS Express 上运行该应用程序,我是否能够做到这一点? 更新
  • Java/WebLogic 应用程序中的集成 Windows 身份验证 (NTLM)?(Integrated Windows Authentication (NTLM) in a Java/WebLogic app?)
    问题 我们的团队构建了一个 WebLogic 内部网站。 用户目前必须输入他们的 Active Directory 登录名/密码才能访问该站点。 由于我们的大多数用户已经登录到域,我们希望使用集成的 Windows 身份验证,这样用户就不必重新输入他们的登录密码。 我已经使用托管在 Windows/IIS 上的 .NET 应用程序完成了这项工作。 但是,此应用程序是用 WebLogic/Java 构建的,并托管在 RedHat Linux 上。 是否有分步指南或原型应用程序可用? (对于这个问题,请假设我们在 Internet Explorer 浏览器上是标准化的。) 回答1 看看jcifs。 尽管它的机制已被弃用(它不支持 NTLMv2),但它仍在我的项目中工作。 您可能必须使用旧版本。 他们建议使用 jespa,但它不是免费的。 还有 spnego,它也有一个过滤器。 和 tomcatspnego。 但我不知道它们使用起来有多容易。 华夫饼看起来也很有趣。 这是另一个包含一些细节的答案:在 Linux 上使用 Java 对 Active Directory 进行身份验证 到目前为止,我只使用了 jcifs,所以我不能告诉你哪个选项是最好的。 Apaches HttpClient 也有一些功能,我使用过它,但不是作为 web 应用程序中的 SSO。 编辑: 我找到了另一个项目
  • Using Windows Authentication in ASP.NET
    I'm trying to use Windows Authentication in my ASP.NET application. Whenever I try to view the app it sends me to a login page. How can I make it work without having to manually login via the browser? web.config <system.web> <authentication mode="Windows"></authentication> <anonymousIdentification enabled="false"/> <authorization> <deny users="?" /> <allow users="*" /> </authorization> <customErrors mode="Off"></customErrors> <identity impersonate="true"></identity> <compilation debug="true" targetFramework="4.0" /> <httpRuntime /> </system.web> error after updating IIS Express Most likely
  • Mybatis接口Mapper内的方法为啥不能重载吗?深度好文
    前言 在网络技术中基于浏览器的B/S结构无论在PC端还是手机端都充当着至关重要的角色。 PC端自不必说,手机中很多应用虽然是以APP的形式存在,但它采用的还是B/S结构。如今日头条、微信的朋友圈等,这些应用在内部封装了浏览器,后端仍然是 Web站点。 在大型网站和复杂系统的开发中,Java无疑具有很大的优势,而在lava的Web框架中 Sprig MVC 以其强大的功能和简单且灵活的用法受到越来越多开发者的青睐。 Spring MVC入门很简单,但是要想真正使用好却并非易事,而且现在也没有全面、深入地使用资料,以致在实际使用的过程中程序员经常会遇到各种各样的问题而不知道如何解决。对 Spring MVC 这样的开源项目来说。最好的学习方法当然是分析它的源代码,分析透源代码不仅可以让我们更灵活地使用 Spring MVC来开发高质量的产品,而且可以学习到其中的很多优秀的编程技巧和设计理念。 本次分享PDF文档资料除了分析Spring MVC的源代码,还系统地介绍了各种网站架构的演变以及 Web开发中所涉及的协议和Tomcat的实现方法,现在很多程序员都想了解这方面的知识,但苦于缺乏通俗易懂的资料,而且这些也是程序员达到更高的层次所需要的知识。 Spring Security观后感——手绘思维脑(供参考) 手绘的思维导图,是我自己根据自身的情况读完这套阿里出品的Spring
  • 计算机网络安全知识概括
    计算机网络安全知识概括 网络安全简介密码学身份认证(Authentication)报文完整性数字签名密钥分发中心(KDC)认证中心(CA)安全电子邮件Web应用安全安全套接字层SSLVIPSec无线局域网安全防火墙SSH协议云 网络安全简介 定义: 网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而 遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。 网络安全基本属性: 机密性(confidentiality): 只有发送方与预定接收方能够理解报文内容 ①发送方加密报文 ② 接收方解密报文身份认证(authentication): 发送方与接收方希望确认彼此的真实身份信息完整性(message integrity): 发送方与接收方希望确保信息未被篡改(传输途中或者后期),发生篡改一定会被检测到可访问与可用性(access and availability): 网络服务必须对被授权用户可访问与可用 网络安全拟人模型: 网络安全领域的著名拟人模型Bob与Alice是期望进行安全通信的情侣Trudy是企图破坏Bob和Alice通信的入侵者 (intruder),试图拦截、删除或添加信息 网络安全威胁: 窃听(eavesdrop): 窃听信息插入(insert):主动在连接中插入信息假冒(impersonation): 可以通过伪造
  • 《图解HTTP》读书笔记--第7章 确保Web安全的HTTPS
    写在前面:本文仅供个人学习使用,如有侵权,请联系删除。文章中所用图片绝大多数来源于《图解HTTP》,请读者支持原版。 文章目录 7.1 HTTP的缺点7.1.1 通信明文可能被窃听TCP/IP是可能被窃听的网络加密处理防止被窃听 7.1.2 不验证通信方的身份就可能遭遇伪装任何人都可发起请求查明对手的证书 7.1.3 无法证明报文完整性,可能已遭篡改接收到的内容可能有误如何防止篡改 7.2 HTTP+加密+认证+完整性保护=HTTPS7.2.1 HTTP加上加密处理和认证以及完整性保护后即是HTTPS7.2.2 HTTPS是身披SSL外壳的HTTP7.2.3 相互交换密钥的公开密钥加密技术共享密钥加密的困境使用两把密钥的公开密钥加密HTTPS采用混合加密机制 7.2.4 证明公开密钥正确性的证书可证明组织真实性的EV SSL证书 7.2.5 HTTPS的安全通信机制SSL和TLSSSL速度慢吗? 7.1 HTTP的缺点 HTTP有好也有坏,主要有以下不足: 通信明文可能被窃听不验证通信方的身份就可能遭遇伪装无法证明报文完整性,可能已遭篡改 这些问题不仅在HTTP上出现,其他未加密的协议中也会存在这类问题。 除此之外,HTTP本身还有很多缺点。而且,还有像某些特定的Web服务器和特定的Web浏览器在实际应用中的存在的不足,另外
  • Selenium——Web自动化测试
    1.什么是Selenium? 答案:Selenium是一个开源的web自动化测试框架,主要是基于web uI的自动化测试。现在的版本,逐步增加了对移动端的自动化测试。Selenium支持多种语言进行开发自动化测试脚本,有Java,python,C#,Javascript等等。Selenium支持跨浏览器平台测试。 2.Selenium是否支持用例的执行的引擎? 答案:引擎好比就是一个发动机。Selenium是没有关于测试用例和测试套件管理和执行的模块。我们需要借助第三方单元测试框架来实现用例管理和用例的执行。例如Java中有Junit或者testNG,Python中有unittest单元测试框架。 3.Selenium有什么限制或者缺陷? 答案:除了基于web的软件和mobile的程序,selenium不支持桌面软件自动化测试。软件测试报告,和用例管理只能依赖第三方插件,例如Junit/TestNG和unittest。由于它是免费的软件,所以没有供应商去提供支持和服务,有问题,只能求助selenium社区。还有一个就是,selenium入门门槛可能有点高,需要具备一定编程语言基础的才能玩转 4.如何提高selenium脚本的执行速度? 答案:- Selenium脚本的执行速度受多方面因素的影响,如网速,操作步骤的繁琐程度,页面加载的速度,以及我们在脚本中设置的等待时间
  • Internet Explorer 的“可选”Windows 集成身份验证("Optional" windows integrated authentication for Internet Explorer)
    问题 我正在编写一个在 IIS 7 中运行的 ASP.NET (MVC 3) Web 应用程序。它将由 Intranet 用户访问,可能来自 Web 服务器所在的同一个 Windows 域,我希望它能够识别尽可能当前登录的 Windows 用户。 但是,我从不希望浏览器弹出身份验证对话框。 所以,我想使用集成身份验证,但又不想打扰用户。 如果他们在 Firefox 中浏览,或者他们的安全设置不允许自动登录或其他什么,那么就将他们视为匿名用户。 有没有办法做到这一点? 回答1 并不真地。 要启用集成身份验证,服务器需要向浏览器发送标头。 大多数浏览器以两种方式之一响应此标头。 他们要么像 IE 一样用正确的令牌静默响应,要么像 Firefox 那样提示输入凭据,或者如果由于集成身份验证关闭或它在另一个域上而无法生成正确的令牌时,它们会提示输入凭据。 您可以检测 FF 并做出不同的响应,但无法检测 IE 是否已关闭集成身份验证。
  • ASP.NET 5 beta 8 中的 Windows 身份验证支持(Windows Authentication support in ASP.NET 5 beta 8)
    问题 我有一个 ASP.NET 5 MVC 6 Web API 项目。 大多数 API 端点都具有 [Authorize] 属性,并且在 IIS 和 Visual Studio 中的项目属性上都启用了 Windows 身份验证。 这在 beta 7 中一切正常。 但是,在 beta 8 中,这不起作用。 用一个完全干净的项目很容易重现这个: 使用 ASP.NET 5 Web API 模板创建一个新项目。 获取项目的属性(不是解决方案),转到调试选项卡,启用 Windows 身份验证并禁用匿名。 保存更改。 按 F5 并让它尝试运行该项目。 结果: 试图确定托管您的应用程序的 DNX 进程的进程 ID 时发生错误。 现在返回项目属性并启用匿名。 保持 Windows 启用。 保存更改。 转到您的控制器并添加 [Authorize] 属性。 再F5。 结果: 这次项目启动了,但 Web API 返回了 500。 注意 Output 窗口中: Microsoft.AspNet.Mvc.Controllers.ControllerActionInvoker:警告:过滤器“Microsoft.AspNet.Mvc.Filters.AuthorizeFilter”处的请求授权失败。 该项目在发布到 IIS 时也不起作用。 正如 beta 8 公告中所指出的,托管模型已更改,因此 IIS
  • 安全的SSL/TLS配置推荐及其原理
    作者原始博客地址为 https://blog.ertuil.top/post/tech/security-tls/。 一、SSL/TLS 背景 如今已经是 2019 年了,大部分的 HTTP 服务器都默认配置了 SSL/TLS ,以为大家提供安全的、具有隐私性的网络服务。 但是安全的配置 TLS 往往是困难的,如果配置不当可能会导致性能低下、安全性能减弱等问题。因此这篇文章以 Nginx 服务器为例,讲解如何安全的配置 ssl 服务器。 早期的 SSL(安全套接字协议)是由网景公司发布的提供安全连接的服务,发布了 SSL1.0, SSL2.0, SSL 3.0 三个版本。后来 IETF 将其标准化,并作为 TLS 协议(传输层安全协议)发布了 TLSv1.1 和 TLSv1.2 协议。 2018年,最新的 TLSv1.3 协议发布。目前主要使用的版本是 TLSv1.2 和 TLSv1.3 两个版本,早期的版本已经不再建议使用了。 TLS 协议主要使用了如下一些密码学算法来提供安全服务: 身份认证:服务器需要证明自己就是真实的服务器,防止了恶意服务器假冒真实网站提供服务。秘钥交换:服务器和浏览器需要协商出一个秘钥,用于后续消息的加密和验证。数据机密性保护:使用了上述协商出来的秘钥,来对信息进行加密,使得他人不能读取消息的内容。消息完整性保护:要保护消息没有被恶意篡改(即便是加密的信息
  • 使用来自 Web 应用程序 (Express.js) 的 NTLM 身份验证与本地 (IFD) CRM 进行身份验证(Authenticating with on-premise (IFD) CRM using NTLM authentication from Web App (Express.js))
    问题 我是在我提出的上一个问题的背后提出这个问题的,因为问题的范围有所改变,但可能值得先阅读以了解背景信息。 我正在尝试使用 Node 驱动的 Express 应用程序中的一组管理员凭据以编程方式从我们的 Dynamics CRM 实例中获取数据。 此 Express 应用程序托管在我们托管 CRM 的网络之外的单独服务器上。 然后,该应用程序将请求、处理并将 CRM 数据返回给任何具有访问权限(由应用程序内的角色/权限控制)的登录用户,这意味着最终用户只需登录 Express 应用程序。 在我的 Web 浏览器中,如果我访问我们的内部 CRM 端点: https://my.crm.endpoint ,我会收到输入用户名和密码的提示。 如果我提供了正确的凭据,我就通过了身份验证并拥有对 CRM 的完全访问权限,允许我查询 API。 示例https://my.crm.endpoint/api/data/v8.2/contacts?$select=fullname,contactid 这将返回一个可爱的 JSON 对象,其中包含我想要的所有数据:) 现在! 在幕后,我可以看到它正在使用 NTLM 进行身份验证,我对此知之甚少:/阅读了一些内容并观看了一些 YouTube 视频后,我对质询/响应机制有了基本的了解,但我仍然不确定如何进行。 注意:我从 Microsoft
  • FIDO U2F 令牌 Web 浏览器兼容性(FIDO U2F tokens Web Browsers compatibilty)
    问题 我正在尝试将U2F身份验证集成到 GWT 项目中,我需要知道此解决方案是否与所有新的 Web 浏览器(Firefox、Internet Explorer、Safari...)兼容? 通常在谷歌浏览器中,我必须安装一个名为“FIDO U2F(Universal 2nd Factor )扩展”的插件。 其他浏览器也一样吗? 有没有办法在没有新网络浏览器插件的情况下工作? 回答1 其他浏览器是否支持 U2F? 目前没有。 有没有办法在没有新 Web 浏览器插件的情况下工作? 不,这就是 U2F 的全部意义:由于与浏览器的直接通信,网络钓鱼攻击是不可能的。 额外的信息 过去您必须在 Chrome 中安装一个插件,目前(我认为从版本 40 开始),这不再需要:Chrome 中从该版本开始内置 U2F 功能。 至于其他浏览器支持U2F:目前没有。 Firefox 通过 U2F Support Add-on 支持 U2F,并且正在努力在本地支持 U2F。 据报道,微软将在 Windows 10 中包含 FIDO 支持。那时浏览器可能会依赖 OS-U2F-check,并且不再(需要)直接包含 FIDO 支持。 然而,这只是暂时的猜测。 我想进行的一个简单的兼容性检查是使用 Yubikey 的演示站点。当您的浏览器不支持 U2F 时,它会立即报告(尝试在 Firefox 中打开演示站点
  • 网络-https协议学习笔记(SSL、TLS、CA、抓包与修改)
    目录 简介 http的缺点 https优点 https缺点 SSL TLS CA HTTPS真的安全吗??? HTTPS抓包与修改 开发者神器库 自动代理配置 代理抓包 数据包篡改 Fiddler 参考 简介 HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础上加入SSL层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要SSL。HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP之间)。 HTTPS 协议是由 HTTP 加上TLS/SSL协议构建的可进行加密传输、身份认证的网络协议,主要通过数字证书、加密算法、非对称密钥等技术完成互联网数据传输加密,实现互联网传输安全保护。设计目标主要有三个: (1)数据保密性:保证数据内容在传输的过程中不会被第三方查看。就像快递员传递包裹一样,都进行了封装,别人无法获知里面装了什么。 (2)数据完整性:及时发现被第三方篡改的传输内容。就像快递员虽然不知道包裹里装了什么东西,但他有可能中途掉包,数据完整性就是指如果被掉包,我们能轻松发现并拒收。 (3)身份校验安全性:保证数据到达用户期望的目的地