क्या आप में से कोई भी जानता है, अगर और यदि ऐसा है, तो मैं अपने एप्लिकेशन कोड के साथ कैसे जांच सकता हूं, अगर कोई सर्वर एसएसएल सक्षम है या नहीं?मैं कैसे जांच सकता हूं कि किसी सर्वर के पास एसएसएल सक्षम है या नहीं
उत्तर
"It's easier to ask forgiveness than permission"
उदाहरण के लिए,,, बस कर दो। अजगर में:
>>> import urllib2
>>> urllib2.urlopen('https://stackoverflow.com')
Traceback (most recent call last):
...
urllib2.URLError: <urlopen error (10060, 'Operation timed out')>
>>> html = urllib2.urlopen('http://stackoverflow.com').read()
>>> len(html)
146271
>>>
यह दर्शाता है कि stackoverflow.com
एसएसएल (2008) का समर्थन नहीं करता।
अद्यतन:stackoverflow.com
अब https का समर्थन करता है।
प्राथमिकता का अपनी भाषा पर यकीन नहीं, लेकिन यहाँ यह ग # में है
public bool IsSecureConnection()
{
return HttpContext.Current.Request.IsSecureConnection ||
HttpContext.Current.Request.Headers["HTTP_X_SSL_REQUEST"].Equals("1");
}
कृपया ध्यान दें यह हेडर पूर्णतः कस्टम है, लेकिन मुझे लगता है कि आप विचार मिलता है। मैंने "https" के लिए लोक बस पूछताछ अनुरोध देखा है और गंदे दिखने के अलावा यह शायद उचित रूप से स्वीकार्य है, आपके सुरक्षा मॉडल पर निर्भर करता है।
या आप पूछ रहे हैं कि यह बिल्कुल उपलब्ध है या नहीं?
मैं
Thx कबूतर, मुझे लगता है कि सर्वर-साइड में है, मैं क्लाइंट-साइड में जानना चाहता हूं कि सर्वर कैसे एसएसएल कनेक्शन स्वीकार करता है, मुझे कैसे पता चलेगा। (अगर मैं किसी भी तरह से कर सकता हूं)। मुझे लगता है कि मैं इसे कुछ अपवाद हैंडलिंग के साथ कर सकता हूं, अगर मैं सर्वर से एसएसएल सक्षम करने के लिए कनेक्ट करने का प्रयास करता हूं और मुझे अपवाद मिलता है, तो सर्वर (शायद) में एसएसएल सक्षम नहीं है। लेकिन क्या मैं इसे किसी अन्य तरीके से कर सकता हूं? –
आप क्या प्रोटोकॉल आप के साथ काम कर रहे हैं निर्दिष्ट करने की आवश्यकता - HTTP, IMAP, POP के एसएसएल संस्करण हैं, आदि
मान लिया जाये कि यह HTTPS आप में रुचि रखते हैं, तो आप कर सकता है मत पूछो कि क्या stackoverflow.com
इसका समर्थन करता है SSL के माध्यम से stackoverflow.com
पढ़ने के लिए अगर कुछ सर्वर पर 443 पोर्ट पर सुन रहा है देख सकते हैं और वहां से जाने के लिए जाँच ...
हां, मैंने उस पर भी सोचा, लेकिन मुझे लगता है कि सेवा का बंदरगाह सर्वर की कॉन्फ़िगरेशन पर निर्भर करता है, क्या मैं सही हूँ? बीटीडब्ल्यू, मैं https और smtp के साथ काम कर रहा हूँ, क्षमा करें। और वरीयता की मेरी भाषा सी # है, लेकिन अगर मैं एक प्राप्त करता हूं, तो मैं किसी भी भाषा को उत्तर के रूप में स्वीकार करता हूं: पी। आप दोनों के लिए धन्यवाद;) –
हां, पोर्ट कॉन्फ़िगरेशन पर निर्भर करता है - लेकिन यदि आप एचटीटीपीएस का उपयोग कर यादृच्छिक साइट्स की कोशिश कर रहे हैं, तो यह पोर्ट 443 पर होगा। यदि यह – genehack
आप एक प्रोग्रामिंग भाषा निर्दिष्ट नहीं करते हैं, लेकिन आप इसे कमांड लाइन से कर सकते हैं।
bash-3.2$ echo ^D | telnet www.google.com https
Trying 66.102.11.104...
Connected to www.l.google.com.
Escape character is '^]'.
Connection closed by foreign host.
bash-3.2$ echo ^D | telnet www.stackoverflow.com https
Trying 69.59.196.211...
telnet: connect to address 69.59.196.211: Connection refused
telnet: Unable to connect to remote host
वहां आप जाते हैं ... Google करता है, StackOverflow नहीं करता है।
यदि आप किसी सर्वर पर PHP या एएसपी कोड चला रहे हैं, तो संक्षिप्त उत्तर यह नहीं है। आप गैर-एसएसएल आईपी पते पर सॉकेट कनेक्शन बनाने का प्रयास कर सकते हैं, और देख सकते हैं कि आपको एसएसएल प्रमाण पत्र मिलता है, और इसके सामान्य नाम और विषय वैकल्पिक नामों का आकलन करें, लेकिन सामान्य रूप से, सरल उत्तर यह नहीं है। अपाचे का एक लगातार (गलत) कॉन्फ़िगरेशन एसएसएल प्रमाण पत्र के बिना पोर्ट 443 पर सुनना है, इसलिए कनेक्शन बनाने में सक्षम होने की कोई गारंटी नहीं है कि वहाँ SSL है। कनेक्शन बनाने में सक्षम नहीं होने का मतलब यह हो सकता है कि आपके एप्लिकेशन में नेटवर्किंग विशेषाधिकार नहीं हैं। चूंकि एसएसएल सेट करना एक दर्द है, आप जानते हैं कि आपके पास SSL है या नहीं, और यह एक कॉन्फ़िगरेशन निर्णय है। यह सोचने की तरह है कि आपके पास कितने बच्चे हैं - आपको पता होना चाहिए।
यह सही HttpContext पर सामने आए बिना पता लगाने के प्रदर्शन करने के लिए एक सी # इकाई परीक्षण है:
[TestMethod]
public void DetectSslSupport()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.someinsecuresite.com");
try
{
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
//some sites like stackoverflow will perform a service side redirect to the http site before the browser/request can throw an errror.
Assert.IsTrue(response.ResponseUri.Scheme == "https");
}
}
catch (WebException)//"The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel."}
{
Assert.IsTrue(false);
}
}
- 1. मैं कैसे जांच सकता हूं कि कनेक्शन एसएसएल का उपयोग करता है या नहीं?
- 2. मैं कैसे जांच सकता हूं कि उपयोगकर्ता जावास्क्रिप्ट में मान्य दिनांक पास करता है या नहीं?
- 3. मैं कैसे जांच सकता हूं कि एक्सप्रेस
- 4. मैं कैसे जांच सकता हूं कि किसी स्ट्रिंग में वर्णमाला से कोई अक्षर है या नहीं?
- 5. मैं यह देखने के लिए कैसे जांच सकता हूं कि उपयोगकर्ता के पास टाइमलाइन है या नहीं?
- 6. मैं कैसे जांच सकता हूं कि JQuery
- 7. मैं कैसे जांच सकता हूं कि एक संकलित बाइनरी 32 बिट या 64it है या नहीं?
- 8. मैं कैसे जांच सकता हूं कि कोई char एक अक्षर या संख्या है या नहीं?
- 9. मैं कैसे जांच सकता हूं कि एक गेम ऑब्जेक्ट दूसरे को देख सकता है या नहीं?
- 10. PHP मैं कैसे जांच सकता हूं कि फ़ाइल एमपी 3 या छवि फ़ाइल है या नहीं?
- 11. मैं कैसे निर्धारित कर सकता हूं कि उपयोगकर्ता के पास आईओएस ऐप इंस्टॉल है या नहीं?
- 12. प्रोग्रामिक रूप से जांच कैसे करें कि वेब सर्वर में http संपीड़न सक्षम है या नहीं?
- 13. मैं कैसे जांच सकता हूं कि UIView एनिमेट कर रहा है या नहीं?
- 14. मैं कैसे जांच सकता हूं कि कोई ऑब्जेक्ट जारी किया गया है या नहीं?
- 15. मैं अपने वेब सर्वर पर एसएसएल भेद्यता की जांच कैसे कर सकता हूं?
- 16. मैं कैसे जांच सकता हूं कि ल्यूसीन इंडेक्सवाइटर उदाहरण वैध/खुला है या नहीं?
- 17. मैं कैसे जांच सकता हूं कि कोई जेएसओएन नोडजेएस में खाली है या नहीं?
- 18. मैं कैसे जांच सकता हूं कि किसी दिए गए पथ के लिए कोई मार्ग (एएसपी.नेट एमवीसी) मौजूद है या नहीं?
- 19. मैं कैसे जांच सकता हूं कि SQL परिणाम में एक न्यूलाइन वर्ण है या नहीं?
- 20. क्लोजर में मैं कैसे जांच सकता हूं कि कोई प्रतीक परिभाषित किया गया है या नहीं?
- 21. मैं कैसे जांच सकता हूं कि कोई सरणी खाली/खाली है या नहीं?
- 22. मैं कैसे जांच सकता हूं कि एक RabbitMQ संदेश कतार मौजूद है या नहीं?
- 23. मैं कैसे बता सकता हूं कि कोई बिंदु एक निश्चित रेखा के पास है या नहीं?
- 24. मैं कैसे जांच सकता हूं कि कोई फ़ाइल मौजूद है या नहीं?
- 25. मैं कैसे जांच सकता हूं कि एक संरचना को तत्काल किया गया है या नहीं?
- 26. मैं कैसे जांच सकता हूं कि पैकेज में कोई प्रक्रिया मौजूद है या नहीं?
- 27. मैं कैसे जांच सकता हूं कि MATLAB हैंडल मान्य है या नहीं?
- 28. मैं रेल 3.0 में एसएसएल विकल्पों को "रेल सर्वर" में कैसे पास कर सकता हूं?
- 29. मैं कैसे जांच सकता हूं कि स्ट्रिंग में सी # में कोई वर्ण है या नहीं?
- 30. मैं कैसे जांच सकता हूं कि सरणी के सभी तत्व पर्ल में समान हैं या नहीं?
आप कुछ जानकारी प्रदान की जा सकी। पर्यावरण के बारे में जिसमें आप इसे लिख रहे हैं? –
आप नहीं कर सकते। सर्वर में एसएसएल नहीं है, वेबसाइटें करते हैं। – Kuzgun