Как предоставить имя пользователя и пароль в FTP URL для прямой загрузки в браузере?

Современные браузеры, такие как Chrome и Firefox, могут обрабатывать загрузки по FTP:

ftp://my-ftp.com/my-file.csv

Я хочу поделиться ссылкой с другим человеком, и я не хочу, чтобы он вводил имя пользователя и пароль через приглашение.

Я знаю о влиянии безопасности, но в этом случае простота использования имеет приоритет. Интересно, есть ли возможность предоставить учетные данные непосредственно в URL-адресе FTP.

2 ответа

Решение

Вы можете предоставить учетные данные для URL следующим образом:

username:password@host

Ваш пример станет:

ftp://username:password@my-ftp.com/my-file.csv

Вы столкнетесь с проблемами, если имя пользователя содержит недопустимые символы, такие как @:

 ftp://usern@me:password@my-ftp.com/my-file.csv

Для такой загрузки мне пришлось воспользоваться клиентом, разрешающим символ, например, FileZilla.

Заметным исключением (для протоколов HTTP и HTTPS) является IE:

Internet Explorer версии 3.0–6.0 поддерживает следующий синтаксис для URL-адресов HTTP или HTTPS: http(s)://username:password@server/resource.ext Вы можете использовать этот синтаксис URL для автоматической отправки информации о пользователе на веб-сайт, который поддерживает базовый метод аутентификации.

( Источник). Они не поддерживают это из соображений безопасности:

Злонамеренный пользователь может использовать этот синтаксис URL для создания гиперссылки, которая, по-видимому, открывает законный веб-сайт, но фактически открывает обманчивый (поддельный) веб-сайт. Например, следующий URL-адрес открывает http://www.wingtiptoys.com/ но фактически открывает http://example.com/: http://www.wingtiptoys.com@example.com/

Другие вопросы по тегам