題 FTP站點地址中的用戶名


我已經使用IIS7.5建立了許多FTP站點。這些站點使用主機名來區分它們。使用主機名的一個缺點是你必須將ftp站點的地址傳遞給用戶名,例如

Ftp地址: ftp://ftp.example.com

用戶名: ftp.example.com |用戶1

密碼:psswrd

我想至少傳遞用戶名作為連接地址的一部分,例如 FTP://ftp.example.com | User1@ftp.example.com 但我無法使用Windows資源管理器(在Windows 7中)執行此操作。每當我嘗試這種技術時,我仍然會提示輸入用戶名和密碼。

我已經設定了 useDomainNameAsHostName = TRUE 在服務器上允許更多的用戶名靈活性,但我仍然無法讓它工作。也不 FTP://ftp.example.com%5CUser1@ftp.example.com/ 要么 FTP://User1%40ftp.example.com@ftp.example.com/ 似乎在IE9或Chrome中有所不同。

我哪裡錯了?


6
2017-11-29 12:30


起源


有沒有理由不能簡單地使用: ftp://username:password@domain.tld ? - iglvzx
是的,它不起作用,因此我的問題。我正在使用Windows 7和通過Windows資源管理器收集到ftp。以您建議的格式傳遞用戶名只會提示我一個沒有填充用戶名的登錄對話框。我的主要目標是能夠傳遞連接字符串,以便客戶端所要做的就是輸入密碼。 - SausageFingers


答案:


在涉及FTP服務器的新虛擬主機名時,使用IIS 7.5有點令人生畏。但是,即使您似乎已正確配置yoru IIS 7.5服務器,IE,Chrome和其他瀏覽器也不知道如何以與IIS 7.5可以處理它相同的方式處理這些類型的虛擬主機請求。

目前可用的唯一工作是執行以下操作,引用:

Internet Explorer,Windows資源管理器和虛擬FTP站點問題

Internet Explorer和Windows資源管理器都首先嘗試連接   匿名訪問FTP服務器。如果他們失敗了,那麼他們會提示   憑據。當FTP 7僅配置為基於虛擬主機名時   站點,這些客戶端失敗。匿名登錄將被拒絕   服務器的方式,這是有效的FTP規範(RFC 959)   儘管如此,它會混淆那些認證序列   客戶端。 Robert McMurray很久以前就注意到了這個問題   在下面的博客中提出了一個簡單的解決方法    http://blogs.msdn.com/robert_mcmurray/archive/2008/12/17/ftp-clients-part-3-creating-a-global-listener-ftp-site.aspx

要解決此問題,您需要創建一個   GlobalListenerFtpSite,未配置主機名。它有   拒絕匿名訪問。事實上,你不應該允許任何   訪問該站點(將授權部分留空)。這個網站   將拒絕匿名登錄對IE和友好的方式   Windows Explore。一切都將按預期工作。羅伯特的博客   條目將提供有關該主題的更多信息。

您可以從以下文章中找到更多深入的信息並撰寫: 解決虛擬FTP站點的“|”分隔符問題(FTP 7.5)。


5
2018-01-26 23:03





我真的不明白真正的錯誤是什麼。

你應該使用連接 ftp://username:password@domain.tld。您認為需要在用戶名中傳遞域名的事實對我沒有任何意義。

但在你的例子中,你使用 | 在您的用戶名中,您的瀏覽器會嘗試將其更改為某些內容 %。我認為你應該檢查錯誤日誌並重新開始。


4
2018-01-27 15:13





僅傳遞用戶名將無法按照您希望的方式工作,即在此之後只需輸入密碼。當您發送URL時

FTP://用戶名@主機:端口

服務器將嘗試在沒有任何密碼的情況下對您進行身份驗證,但由於它將失敗,服務器將再次請求用戶名和密碼。因此,您必須在出現的對話框中再次輸入它們。

我試過Chrome。即使在ping服務器之前,也會從URL擦除用戶名。 Firefox甚至不會加載頁面,Opera使用其內置的FTP管理器,表示身份驗證失敗並要求輸入用戶名和密碼。


1
2018-01-26 23:00





理想情況下,您正在尋找的格式是 ftp://user@website

但是,使用這種地址的結果取決於客戶端瀏覽器而不是Web服務器。

Firefox將完全按照您的要求執行操作,僅提示輸入密碼。
Internet Explorer將忽略指定的用戶並請求兩者。


0
2018-01-27 21:38