当前位置: 首页 > 知识库问答 >
问题:

Python InsecureRequestWarning的真正含义是什么?

印宏阔
2023-03-14

我收到警告:

/.../local/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py:734: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html
  InsecureRequestWarning)

我在看医生。

我看到很多关于如何禁用它的帖子,如果我知道我在做什么,就像这一个。

一个有用的总结(或者只是一个正确方向的观点)将非常感谢,这样我就可以决定是否禁用它。我的直觉是我不应该禁用它,所以我想知道如何正确地解决这个问题。

共有1个答案

汪理
2023-03-14

我很高兴你没有简单地禁用警告。很好的问题,实际上!这里所需要的是对“信任链”如何运作的基本理解。这并不遗憾,许多人对此一无所知。但是,作为一个开发人员应该知道基础知识!去吧,也许读一下整件事是如何运作的。

简而言之,TLS旨在保证保密性、真实性和完整性。安全社区的常识是(*):如果没有证书验证,您将无法获得这三项内容,因为您容易受到中间人攻击。也就是说,验证证书,或者干脆停止使用HTTPS。这就是警告的意义所在。

更多的上下文:这个安全体系结构的一部分是,远程主机声称拥有一个由信任链中更高的人签名的证书,即所谓的证书颁发机构(CA)。客户端需要验证此CA是否确实签署了有问题的证书。为了使这种验证工作,客户机需要一个本地数据库,其中包含许多CAs的公钥(将这些CAs看作“信任锚”,其集合可以称为“证书束”)。

我不明白为什么我需要一个证书来向第三方API发出安全请求

请阅读其他地方的细节。但是,为了完整地回答这个问题,这是一个高级抽象,应该澄清为什么需要一些外部信息来源:

  • 您的客户端不信任远程端。
  • 因此,您的客户端需要让第三方参与进来,并询问远程端的可信度。
  • 第三方是许多CAs公钥的本地数据库,即所谓的“证书包”。
 类似资料:
  • 问题内容: 据我了解,JSONP只能使用GET动词来实现。假设我认为这是对的,那么这将排除对真正的REST的核心合规性,在其中,您应出于不同和特定的目的而使用不同的动词,例如GET,PUT,POST,DELETE等。 我的问题是,如果我说允许使用使用get请求的JSONP服务更新和删除资源,我可能会遇到哪种障碍。 提供JSON服务并声明用户需要服务器端代理才能使用JavaScript XDomai

  • 本文向大家介绍js中javascript:void(0) 真正含义,包括了js中javascript:void(0) 真正含义的使用技巧和注意事项,需要的朋友参考一下 我们经常会使用到 javascript:void(0) 这样的代码,那么在 JavaScript 中 javascript:void(0) 代表的是什么意思呢? javascript:void(0) 中最关键的是 void 关键字,

  • 我有个问题。 在(Root)build.Gradle Gradle版本为3.1.3 (根)Build.Gradle 项目结构分级版本为4.4 项目-结构 在Gradle-wrapper-properties分发版中,URL的Gradle版本是4.4 分级包装器属性 但我可以在智能手机中构建和运行应用程序。 请回复。 多谢了。

  • 问题内容: Java中“ this”的含义是什么? 问题答案: this 指当前对象 每个非静态方法都在对象的上下文中运行。因此,如果你有这样的课程: 然后调用上会打印 因此,有效地将它用于多种用途: 澄清你在谈论一个字段,当还有其他与该字段同名的东西时 整体引用当前对象 在构造函数中调用当前类的其他构造函数

  • 问题内容: 这个静态函数是来自名称空间的类中的吗? 我该如何解释这个名字?在JRE中的哪个位置定义了此功能?在/ ? 问题答案: 否。实际上是类中的静态成员(不是.NET中的静态成员),它是。的实例。并且是该类的常规(重载)方法。 请参阅http://download.oracle.com/javase/6/docs/api/java/lang/System.html#out。 其实,如果/ /

  • 问题内容: 这段代码在: 最后一行使我感到非常困惑。我不知道的意思。 这些是其他代码: 结果是 我猜想的功能是从中选择所有元素,但是我还没有找到正式的解释。它是什么? 问题答案: builtin.go中的代码用作文档。该代码未编译。 在指出这个函数的最后一个参数是可变参数。可变参数在Go语言规范中进行了说明。 该类型的部分为任何围棋类型替身。