অনিরাপত্তা রক্ষণাবেক্ষণ সতর্কতা দমন করুন: পাইথন 2.6 এ যাচাই করা নয় এমন HTTPS অনুরোধ করা হচ্ছে


345

আমি পাইথন 2.6 এ স্ক্রিপ্টগুলি ব্যবহার করে লিখছি pyVmomi এবং সংযোগ পদ্ধতি এক ব্যবহার করার সময়:

service_instance = connect.SmartConnect(host=args.ip,
                                        user=args.user,
                                        pwd=args.password)

আমি নিম্নলিখিত সতর্কতা পেতে:

/usr/lib/python2.6/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)

মজার বিষয় হ'ল আমার কাছে পাইপ দিয়ে urlib3 ইনস্টল করা নেই (তবে এটি সেখানে রয়েছে /usr/lib/python2.6/site-packages/requests/packages/urllib3/ এ রয়েছে )।

আমি এখানে পরামর্শ হিসাবে চেষ্টা করেছি

import urllib3
...
urllib3.disable_warnings()

কিন্তু তাতে কোনও পরিবর্তন হয়নি।


আপনি এই উত্তর বর্ণনা অনুযায়ী নির্দিষ্ট মডিউলের জন্য লগ মাত্রাকে সংযোজনা করার চেষ্টা করতে পারে stackoverflow.com/questions/7234262/...
রেইনা Abolofia

: একটি বৈশ্বিক এবং একদম কাজ সমাধান আছে stackoverflow.com/questions/14463277/...
jmcollin92

2
সতর্কতা: কেবলমাত্র শংসাপত্রের বৈধতা অক্ষম করুন যদি আপনি রিমোট সার্ভারটি নকল করে কেউ যত্ন নেন না!
ivan_pozdeev

4
ঠিক আছে, সতর্কতা সত্যই যা ঘটছে তা প্রতিরোধ করে না । এটি বৈধতা অক্ষম করছে না, এটি বৈধতার অভাব সম্পর্কে সতর্কতাটি অক্ষম করছে।
ডোয়ান্ডারসন

উত্তর:


794

আপনি PYTHONWARNINGSপরিবেশ পরিবর্তনশীল মাধ্যমে পাইথন যে কোনও সতর্কতা অক্ষম করতে পারেন । এই ক্ষেত্রে, আপনি চান:

export PYTHONWARNINGS="ignore:Unverified HTTPS request"

পাইথন কোড ( requests >= 2.16.0) ব্যবহার করে অক্ষম করতে :

import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

জন্য requests < 2.16.0, নীচে মূল উত্তর দেখুন।

আসল উত্তর

urllib3.disable_warnings()আপনার পক্ষে কাজ না করার কারণটি দেখে মনে হচ্ছে আপনি অনুরোধগুলির অভ্যন্তরে বিক্রেতীত urllib3 এর একটি পৃথক উদাহরণ ব্যবহার করছেন।

আমি এখানে পথের ভিত্তিতে এটি সংগ্রহ করি: /usr/lib/python2.6/site-packages/requests/packages/urllib3/connectionpool.py

অনুরোধগুলির বিক্রেত urllib3 এ সতর্কতাগুলি অক্ষম করতে আপনাকে মডিউলের সেই নির্দিষ্ট উদাহরণটি আমদানি করতে হবে:

import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

আমি উন্নয়ন আমি pyvmomi করবেন সম্পর্কে ব্লগ ও অক্টোবর এই সমস্যাটি ফিরে আবৃত 2014. দর্শন লগ করা ঠিক অন্যদের সাহায্য করতে লিঙ্ক ভাগ ভবিষ্যতে দরকারী pyvmomi তথ্য খুঁজে পেয়েছেন: errr-online.com/index.php/tag/pyvmomi
মাইকেল রাইস

37
PYTHONWARNINGS="ignore:Unverified HTTPS request"
রাহুল পাতিল

2
সম্পূর্ণতার জন্য:from requests.packages.urllib3.exceptions import InsecureRequestWarning
propjk007

2
এই উত্তরটি পুরানো। একটি আধুনিক সংস্করণের জন্য, নয়না আদাসুরিয়ার উত্তর দেখুন।
ডাকারন

3
Nayana থেকে Adassuriya এর উত্তর থেকে অনুলিপি: import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
স্যামুয়েল

117

এটি 2017 এর উত্তর। urllib3আর কোনও অংশ requestsনয়

import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

7
বছরটি আপনি ব্যবহার করছেন অজগর সংশোধন সংখ্যার চেয়ে কম আমদানি।
কোডমনকি

3
হ্যাঁ, বছরের তুলনায় রিভিশন আরও গুরুত্বপূর্ণ। এই জন্যrequests >= 2.16.0
dwanderson

কেউ urllib3 এর সংস্করণ পোস্ট করতে পারেন, যখন আমি এটি চেষ্টা করি তখন এটি বলে যে urllib3 এর '
disable_warnings

1
আমি এই প্রতিক্রিয়া দ্বারা বিভ্রান্ত। আমার requestsসংস্করণ 2.21.0এবং এটি আছে urllib3। আমি চেষ্টা করেছি 2.16.0, 16 2.16.1 , and 2.17.0` এবং তাদের সবার ছিল urllib3। আমি চেষ্টা করেছি 2.4.0এবং যদিও এটির এটি ছিল না। তারা কি এটিকে আবার যুক্ত করেছিল?
মাইক ফারলেন্ডার

আমার জন্য কাজ !!
গভীরতা

35

প্রতি এই GitHub মন্তব্য, এক অক্ষম করতে পারেন urllib3মাধ্যমে অনুরোধ সতর্কবার্তা requestsএকটি 1-লাইনের মধ্যে:

requests.packages.urllib3.disable_warnings()

এটি সমস্ত সতর্কতাগুলি দমন করবে যদিও, কেবল নয় InsecureRequest(অর্থাত্ এটি এটি দমনও করবে InsecurePlatform)। যেসব ক্ষেত্রে আমরা কেবল স্টাফ কাজ করতে চাই, সেখানে আমি সংক্ষিপ্ততাটি খুব সহজ বলে মনে করি।


4
এটি ২.7-এর জন্য সেরা বিকল্প, কারণ আমাকে কেবল সতর্কতা দমনের জন্য urlib3 আমদানি করতে হবে না
CodeMonkey

3
requests.packages.urllib3.disable_warnings(requests.packages.urllib3.exceptions.InsecureRequestWarning)কাজ মনে হচ্ছে।
mattalxndr

29

সঠিক উপায়টি প্রদত্ত লিঙ্কটিতে প্রাসঙ্গিক বিভাগটি পড়া এবং এটি যেমনটি বলা যায় তেমনই করা। সিএ শংসাপত্রগুলি অনুযায়ী -requests (যার নিজস্ব কপি দিয়ে বান্ডিল করে urllib3) এর জন্য নির্দিষ্ট উপায় - উন্নত ব্যবহার - অনুরোধ ২.৮.১ ডকুমেন্টেশন :

  • requests নিজস্ব শংসাপত্র বান্ডিল সহ জাহাজগুলি (তবে এটি কেবল মডিউলটির সাথে একসাথে আপডেট করা যেতে পারে)
  • এটা (যেহেতু ব্যবহার করা হবে requests v2.4.0) প্যাকেজ পরিবর্তে যদি এটা ইনস্টলcertifi

এইচটিটিপিএস শংসাপত্র যাচাইকরণের সুরক্ষা পরিমাপ হালকা-হৃদয় ছাড়ার মতো কিছু নয়। মধ্যম আক্রমণে এটি আপনাকে তৃতীয় পক্ষের থেকে সুরক্ষিত করে বাধা দেয় যেমন ভাইরাসকে চুমুক দেওয়া বা আপনার ডেটা নিয়ে টেম্পারিং বা চুরি করে।

যা আজকের সরকার-সমর্থিত গ্লোবাল হ্যাকিং অপারেশন যেমন টেইলার্ড অ্যাকসেস অপারেশনস এবং চীনের গ্রেট ফায়ারওয়াল যা নেটওয়ার্ক অবকাঠামোকে টার্গেট করে, আপনি যা ভাবেন তার চেয়ে বেশি সম্ভাবনাময়।


আমার কাছে 2.8.1 এবং সার্টিফী 2015.11.20.1 অনুরোধ রয়েছে এবং আমি এখনও সতর্কতা পেয়েছি।
অ্যালেক্স বার্টিও

3
@ অ্যালেক্সবার্টিş আপনি (বা এমন কিছু কোড যা আপনি কল করেন) পাস করলে এটি হতে পারে verify=False
আইভান_পোজদেদেভ

2
এই উত্তরের জন্য খুব কম ভোট কেন? এই সতর্কতাগুলি উপেক্ষা করা কি আসলেই নিরাপদ?
স্যাগ্রাইজকো

1
@sgryzko কেবলমাত্র যদি আপনি রিমোট সার্ভারটি ছদ্মবেশে কোনও ব্যক্তির বিষয়ে চিন্তা করেন না। সম্ভবত, ইতিবাচক প্রতিক্রিয়া চক্রকে অবদান রেখে অনেকেরই প্রথম জবাব দেওয়া হয় না এবং / বা পড়া হয় না। এই উত্তরটিও প্রায় এক বছর পরে পোস্ট করা হয়েছিল।
ivan_pozdeev

2
হ্যাঁ, আপনি একটি উত্পাদন পরিবেশে সঠিক জিনিস করা উচিত, এবং অন্ধভাবে ত্রুটি দমন করা খারাপ। তবে পরীক্ষার পরিবেশে এই ত্রুটিগুলি দমন করতে চাওয়া সম্পূর্ণ বৈধ বিষয়।
ভ্রুও

12

অধৈর্যদের জন্য অজগরকে যাচাই করা নয় এমন একটি দ্রুত উপায় এইচটিটিপিএস সতর্কতা:

export PYTHONWARNINGS="ignore:Unverified HTTPS request"

পাওয়ারশেলের জন্য কমান্ডটি হ'ল$env:PYTHONWARNINGS="ignore:Unverified HTTPS request"
অউ

10

যদি কিছু প্যাকেজ বিক্রেতাদের নিজস্ব urlib3 এর অনুলিপি থাকে তবে গ্রহণযোগ্য উত্তরটি কাজ করে না, এই ক্ষেত্রে এটি এখনও কাজ করবে:

import warnings

warnings.filterwarnings('ignore', message='Unverified HTTPS request')

1

পাইভমমি ক্লায়েন্টের সাথে আমারও একই সমস্যা ছিল। পাইথন সংস্করণ ২.7.৯ সহ আমি নিম্নলিখিত কোডের লাইন দিয়ে এই সমস্যাটি সমাধান করেছি:

default_sslContext = ssl._create_unverified_context()
self.client = \
                Client(<vcenterip>, username=<username>, password=<passwd>,
                       sslContext=default_sslContext )

নোট করুন, এটি কাজ করার জন্য আপনার কমপক্ষে পাইথন ২. 2..৯ প্রয়োজন।


1

পাইভমোমি আসল ফাংশনটি কেন ব্যবহার হচ্ছে না SmartConnectNoSSL । তারা এই ফাংশনটি জুড়ে দিয়েছিল June 14, 2016এবং নাম রেখেছিল ConnectNoSSL, একদিন পরে তারা নামটি বদলেছে SmartConnectNoSSL, আপনার প্রকল্পের কোডের অযথা লাইন দিয়ে সতর্কতাটি পাস করার পরিবর্তে এটি ব্যবহার করবেন?

এসএসএল যাচাইকরণ ছাড়াই একটি নির্দিষ্ট সার্ভারে সংযোগের জন্য একটি মানক পদ্ধতি সরবরাহ করে। স্ব-স্বাক্ষরিত শংসাপত্রগুলির সাথে সার্ভারের সাথে সংযোগ করার সময় বা আপনি যখন এসএসএলকে পুরোপুরি উপেক্ষা করতে চান তখন দরকারী

service_instance = connect.SmartConnectNoSSL(host=args.ip,
                                             user=args.user,
                                             pwd=args.password)

0

জন্য পাইথন 2.7

পরিবেশ পরিবর্তনশীল পাইথনওয়ার্নিংসকে কী হিসাবে যুক্ত করুন এবং সম্পর্কিত মানটিকে উপেক্ষা করার মতো:

os.environ['PYTHONWARNINGS']="ignore:Unverified HTTPS request"

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.