Python InsecureRequestWarning真正意味着什么?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python InsecureRequestWarning真正意味着什么?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1795字,纯文字阅读大概需要3分钟。
内容图文
我收到了警告:
/.../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)
我正在读the doc.
如果我知道自己在做什么,我会看到很多关于如何禁用它的帖子,比如this one.
但我仍然无法弄清楚错误的含义.我认为这意味着我错过了证书(因为它只发生在我的VPS上,而不是我的Mac上运行相同版本的脚本),但我不明白为什么我需要证书才能发出安全请求到第三方API.
非常感谢一个有用的摘要(或只是正确方向上的一点),所以我可以决定是否禁用它.我的直觉是我不应该禁用它,所以我想弄清楚如何正确解决问题.
解决方法:
我很高兴你没有简单地禁用警告.真是个好问题!您缺少对“信任链”如何运作的基本理解.这不是一种耻辱,遗憾的是很多人对此并不了解.但是,作为开发人员,您需要了解基础知识,真的,请!来吧,看看整个过程是如何运作的.搜索引擎是你的朋友.
简而言之,TLS加密旨在保证保密性,真实性和完整性.安全社区的常识是(*):如果没有证书验证,您将无法获得这三项,因为您在中间攻击中容易受到攻击.也就是说,验证证书,或者您也可以停止使用HTTPS.这就是警告的内容.
更多上下文:此安全体系结构的一部分是远程主机声称拥有由信任链中较高的人签名的证书,即所谓的certificate authority(CA).客户端需要验证此CA是否确实签署了相关证书.为了使此验证起作用,客户端需要具有许多CA的“密钥”的本地数据库.
I don’t understand why I need a certificate to make a secure request
to a third-party API
请阅读其他地方的详细信息.但是,为了完成这个答案,这是一个高级抽象,应该澄清为什么需要一些外部信息源:
>您的客户端不信任远程端.
>因此,您的客户需要让第三方参与并询问远程端的可信度.
>第三方是许多CA的公钥的本地数据库,即所谓的“证书包”.
您可以使用requests库而不是urllib3,它默认执行证书验证(并提供自己的CA数据库).
(*)未经验证的HTTPS连接可以比普通HTTP“更好”,但这需要根据具体情况进行评估.
内容总结
以上是互联网集市为您收集整理的Python InsecureRequestWarning真正意味着什么?全部内容,希望文章能够帮你解决Python InsecureRequestWarning真正意味着什么?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。