我正在閱讀如何將 ProFTPd 與 MySQL 連接起來以實現我正在開發的實現,我注意到我看到的所有範例程式碼或指令似乎都將 MySQL 中的使用者登入欄位設定為「varchar(30)」。
我沒有看到任何說明 ProFTPd 的欄位長度有限制,但我還是想檢查一下。此設定將混合到的專案計劃讓其通用使用者名稱支援「varchar(255)」。我可以安全地使用它嗎?或者我在其他地方缺少 FTP 限制嗎?
執行ProFTPd 1.3.4a(自訂編譯),MySQL 5.1.54(ubuntu repos)
答案1
無論如何,我只是使用此佈局在我的實現中嘗試了一下:
CREATE TABLE IF NOT EXISTS `users` (
`userid` varchar(255) NOT NULL,
`passwd` varchar(255) NOT NULL,
`uid` int(11) DEFAULT NULL,
`gid` int(11) DEFAULT NULL,
`homedir` varchar(255) DEFAULT NULL,
`shell` varchar(255) DEFAULT NULL,
UNIQUE KEY `userid` (`userid`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
透過使用 filezilla 和 180 個字元的使用者名稱進行連接進行測試,我不認為它們應該達到那麼高,但我們想要安全性,並且會限制創建時的長度而不是資料庫層級。不管怎樣,看起來它適用於 255 的欄位大小。我本來會創建並檢查一個 255 個字元的用戶名,但我只是沒有時間使用系統。