Как клиенты SMTP определяют, использовать ли Явный или Неявный SSL

Проблема в том, что this.like внутри функции likeGame() не совпадает с this.like в функции Homepage(), потому что функция имеет свою область видимости. Один из способов решить эту проблему - использовать функции-стрелки в качестве методов. Теперь this всегда будет ссылаться на Homepage.

function Homepage() {

  this.like = document.getElementById("like");
  this.dislike = document.getElementById("dislike");


  this.likeGame = (event) => {

    if (this.like.style.display == "none") {
      this.dislike.style.display = "none"
      this.like.style.display = "block";
    }
    event.preventDefault();
  };
  this.dislikeGame = (event) => {
    if (this.dislike.style.display == "none") {
      this.like.style.display = "none"
      this.dislike.style.display = "block";
    }
    event.preventDefault();
  };
  this.setListeners = () => {
    console.log('in listen');
    document.getElementById("hyperLike").addEventListener("click", this.likeGame);
    document.getElementById("hyperDislike").addEventListener("click", this.dislikeGame);
  }
}

var homepage = new Homepage();

window.addEventListener("load", () => {
  homepage.setListeners();
})
<html>

<body>
  <p style="display:block">
    <a id="hyperLike" href="">Like</a>/<a id="hyperDislike" href="" ;>Dislike</a> the game.
  </p>
  <p id="like" style="display:none">
    good
  </p>
  <p id="dislike" style="display:none">
    bad
  </p>

</body>

</html>

5
задан Jonathan Leffler 25 June 2014 в 02:13
поделиться

2 ответа

Почтовый клиент должен знать, используется ли неявный SSL при подключении, поскольку он отвечает за инициирование рукопожатия SSL с сообщением ClientHello . Как он определяет это зависит от клиента. Номера портов - хороший совет, но в некоторых интерфейсах также может быть установлен флажок, который заставляет его работать даже при использовании стандартного (незащищенного) номера порта.

Существуют зарегистрированные номера портов IANA для защищенной почты, но некоторые интернет-провайдеры могут использовать другие порты.

  • IMAP / SSL: 993
  • POP3 / SSL: 995

SMTP / SSL часто предлагается на порту 465, но это не зарегистрировано и встречается реже, поскольку широко распространена поддержка явного SSL поддерживается агентами SMTP.

Поддержка явного SSL может быть объявлена ​​сервером с помощью согласования протокола. Например, когда клиент подключается к SMTP-серверу,

4
ответ дан 14 December 2019 в 08:59
поделиться

Я полагаю, что большинство клиентов, поддерживающих SMTP через SSL, начинают с незашифрованного соединения и выдают EHLO, а не HELO. Первый имеет дополнительные ответы с флагами, один из которых указывает, поддерживает ли сервер команду STARTTLS или нет. Если это так, тогда клиент может использовать STARTTLS, а затем использовать SSL с этого момента.

Пример:

% telnet quack.kfu.com 25
220 quack.kfu.com ESMTP ready NO UCE
EHLO client
250-quack.kfu.com Hello client [xx.xx.xx.xx] (may be forged), pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE 25000000
250-ETRN
250-AUTH PLAIN LOGIN
250-STARTTLS
250-DELIVERBY
250 HELP
starttls
220 2.0.0 Ready to start TLS
0
ответ дан 14 December 2019 в 08:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: