Кто-нибудь из вас знает, если и если да, то как я могу проверить код приложения, если на сервере включен ssl или нет?Как я могу проверить, включен ли сервер ssl или нет?
ответ
"It's easier to ask forgiveness than permission"
Например, читать stackoverflow.com
через SSL, не проси stackoverflow.com
, поддерживает ли это, просто сделай это. В Python:
>>> 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
не поддерживает SSL (2008).
Update:stackoverflow.com
теперь поддерживает протокол HTTPS.
не уверены на вашем языке предпочтений, но здесь она находится в C#
public bool IsSecureConnection()
{
return HttpContext.Current.Request.IsSecureConnection ||
HttpContext.Current.Request.Headers["HTTP_X_SSL_REQUEST"].Equals("1");
}
Пожалуйста, обратите внимание, что этот заголовок является обычаем, но я думаю, вы получите идею. Я видел фолк просто запрос запроса для «https» и, кроме того, выглядя грязным, это, вероятно, приемлемо, зависит от вашей модели безопасности.
Или вы спрашиваете, доступно ли это вообще?
I
Thx dve, я думаю, что это на стороне сервера, я хочу знать на стороне клиента, как я могу узнать, принимает ли сервер SSL-соединения. (Если можно так или иначе). Я думаю, что могу сделать это с обработкой исключительных ситуаций, если я попытаюсь подключиться к серверу с помощью ssl enable, и я получу исключение, тогда сервер (возможно) не имеет ssl. Но могу ли я сделать это каким-то другим способом? – 2008-11-28 12:41:12
Вы должны указать, какой протокол вы работаете с - есть SSL версии HTTP, IMAP, POP и т.д.
Предполагая, что это HTTPS вы заинтересованы, вы можете проверьте, чтобы увидеть, если что-то прослушивает порт 443 на сервере и идти оттуда ...
Вы не указываете язык программирования, но вы можете сделать это из командной строки.
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 или ASP-код на сервере, короткий ответ - нет. Вы можете попытаться сделать соединение сокета с IP-адресом, отличным от ssl, и посмотреть, получаете ли вы сертификат ssl и перечисляете его общее имя и субъектАльтернативные имена, но в целом простой ответ заключается в том, что вы этого не делаете. Частая (неправильная) конфигурация apache заключается в прослушивании на порту 443 без SSL-сертификата, поэтому возможность подключения не гарантирует, что там есть SSL. Невозможность подключения может означать, что ваше приложение не имеет сетевых привилегий. Поскольку настройка SSL - это боль, вы знаете, есть ли у вас SSL или нет, и это решение конфигурации. Это как интересно, сколько у вас детей - вы должны знать.
Это тест # блок C, чтобы выполнить обнаружение без необходимости быть на правильном 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. Как проверить, включен ли GPS, или нет?
- 3. Как проверить SSL включен или нет в Jboss AS 7
- 4. проверить, включен ли ssl с помощью php
- 5. Сервер Tomcat SSL включен?
- 6. Как проверить порт 1129 включен или нет?
- 7. Как проверить, находится ли сервер в Python или нет?
- 8. Как проверить JavaScript браузера включен или нет
- 9. Как определить, включен ли ssl, указав url?
- 10. Как проверить, включен ли javascript или нет с помощью wurfl?
- 11. Как проверить, включен ли ручка js в приложение или нет?
- 12. Android 4.3: Как я могу проверить, включен ли блокировка пользователя?
- 13. Как проверить, включен ли дополнительный аргумент класса или нет?
- 14. Как проверить, имеет ли домен сертификат SSL или нет?
- 15. Как я могу проверить, существует ли переменная или нет
- 16. Как я могу проверить, существует ли элемент или нет?
- 17. Как я могу проверить, воспроизводится ли youtube видео или нет?
- 18. MySQL: как я могу проверить, указаны ли пользователи или нет?
- 19. Как я могу проверить, поддерживается ли persistence.xml или нет?
- 20. Как я могу проверить, прерваны ли все потоки или нет?
- 21. Как проверить, включен ли флажок?
- 22. Как я могу проверить, включен ли пользователь в rails?
- 23. Как проверить, включен ли SeAssignPrimaryTokenPrivilege?
- 24. Есть ли способ проверить, что iCloudDrive включен или нет?
- 25. Как проверить, работает ли ldap-сервер или нет?
- 26. C# - как проверить, работает ли прокси-сервер или нет?
- 27. Как проверить, установлен ли сервер Mule или нет?
- 28. Как я могу проверить, работает ли мой локальный сервер «mysql» или нет?
- 29. install4j: как я могу проверить, успешно ли запущен мой сервер apache tomcat или нет?
- 30. Как я могу проверить, жив ли прокси-сервер или нет в JAVA
могли бы вы предоставить некоторую информацию. о среде, в которой вы это пишете? – 2008-11-28 12:42:54
Вы не можете. У серверов нет ssl, веб-сайты. – Kuzgun 2013-12-03 15:27:18