Допустимо ли повторно отправлять команду «USER» на FTP-сервер во время соединения? - PullRequest
1 голос
/ 22 ноября 2011

Согласно RFC959: ПРОТОКОЛ ФАЙЛА ПЕРЕДАЧИ (FTP) (раздел 4.1.1):

Серверы могут разрешать ввод новой команды USER в любой точке в порядкеизменить контроль доступа и / или учетную информацию.Это приводит к сбросу всех уже введенных данных о пользователе, пароле и учетной записи и повторному запуску последовательности входа в систему.Все параметры передачи остаются без изменений, и любая выполняемая передача файла выполняется в соответствии со старыми параметрами контроля доступа.

Мы, безусловно, можем повторно отправить «ПОЛЬЗОВАТЕЛЬ» для аутентификации пользователя в любое время.Однако наша ИТ-команда недавно установила новый ftp-сервер, развернутый в Linux, и не разрешила клиенту повторно отправить команду «USER» перед отключением текущего сеанса.По словам нашей ИТ-команды, это изменение обеспечивает надежную среду для пользователя.

Мне интересно, является ли это изменение достойным и действительным?Пожалуйста, дайте мне авторитетное объяснение, если это возможно.

1 Ответ

1 голос
/ 22 ноября 2011

Это достойно и актуально? Что ж, ваша ИТ-команда свободна делать все, что захочет, чтобы удовлетворить свои потребности.

Но весь смысл стандартов (включая RFC) заключается в том, что вы следуете им, чтобы не будет неприятных сюрпризов для программного обеспечения, которое опирается на такое поведение.

Однако в этом случае волшебное слово «может». На языке стандартов «может» означает именно это. Серверы могут разрешать что-либо. Они не требуются для этого.

Если бы это было требование, они бы использовали более сильные слова - "должен" является фаворитом многих органов стандартизации.

С RFC2119 , пункт 5:

"MAY" - это слово или прилагательное "OPTIONAL" означают, что предмет действительно необязательный.

Так что я думаю, что в данном конкретном случае они фактически не нарушают RFC.

Сказав это, я не уверен в обосновании утверждения, что оно более надежно для пользователя (предположительно на стороне клиента). Как говорится в RFC, он применяется только к новым передачам, инициированным после изменения. Все те, которые в настоящее время в процессе, остаются без изменений.

Лучше всего спросить ваших своих людей, почему это так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...