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

3427
k0pernikus

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

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

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

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

0

2 ответа на вопрос

1
k0pernikus

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

username:password@host 

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

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

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

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

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

1
mvw

Заметным исключением (для протоколов 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

То есть обрабатывает ли FTP вообще? k0pernikus 6 лет назад 0
ftp://ftp.freebsd.org/, кажется, работает (IE11). mvw 6 лет назад 1