使用PHP如何?高效安全的ftp伺服器一

來源:互聯網
上載者:User
FTP伺服器(File Transfer Protocol Server)是在互連網上提供檔案儲存體和訪問服務的電腦,它們依照FTP協議提供服務。 FTP是File Transfer Protocol(檔案傳輸通訊協定)。顧名思義,就是專門用來傳輸檔案的協議。簡單地說,支援FTP協議的伺服器就是FTP伺服器。

摘要:

    本文主要闡述使用PHP的swoole擴充實現ftp伺服器,同時擴充ftp伺服器個人化功能和安全性。真正實現一個自己完全掌控的ftp伺服器,可以個人化定製的ftp伺服器。

本文:

  FTP伺服器想必大家都不陌生,使用起來,現成的軟體也很多。不過免費的軟體功能有時候並不符合自己需求,又無法二次開發,付費軟體價格又比較高昂。PHP的swoole擴充,是PHP語言的高效能網路通訊架構,提供了PHP語言的非同步多線程伺服器,非同步TCP/UDP網路用戶端,非同步MySQL,資料庫連接池,AsyncTask,訊息隊列,毫秒定時器,非同步檔案讀寫,非同步DNS查詢。

  Swoole可以廣泛應用於互連網、移動通訊、企業軟體、網路遊戲、物聯網、車連網、智能家庭等領域。 使用PHP+Swoole作為網路通訊架構,可以使企業IT研發團隊的效率大大提升,更加專註於開發創新產品。

  Swoole底層內建了非同步非阻塞、多線程的網路IO伺服器。PHP程式員僅需處理事件回調即可,無需關心底層。與Nginx/Tornado/Node.js等全非同步架構不同,Swoole既支援全非同步,也支援同步。

  有了這個基礎,基於TCP/IP協議的伺服器開發就變得容易了。或許大家會問,C#等其他語言同樣可以實現啊,為什麼用PHP呢?我想主要考慮的還是開發效率。PHP是無需編譯的指令碼語言,開發部署速度快。

無需贅言,這裡列出步驟:

  00  準備平台,我這裡使用的CentOS7;

  01  安裝php和swoole擴充,請參考http://wiki.swoole.com/wiki/page/6.html;

  02  設定字元集,由於ftp處理檔案名稱容易出現亂碼,建議將作業系統的字元集設定成GB18030,這樣與Windows保持一致,目前大部分ftp用戶端雖然也支援utf8檔案名稱編碼,但是,使用起來比不如意。如何好的解決方案請不吝告知,非常感謝;

  03  開始編寫php程式,測試php程式;

  04  部署php版的ftp伺服器。

本文要實現ftp伺服器的功能目標有:

  * 使用者,組管理;
  * 密碼自助修改與重設;
  * 檔案夾許可權管理;
  * IP存取控制;
  * 線上使用者查看;
  * 磁碟空間使用查看;
  * SSL支援,保護密碼及檔案的傳輸安全;
  * 內建web管理頁面,方便進行遠端管理。  

項目目錄:

FtpServer    
|    
+-conf    
|
|    
|  
+-config.php  //FTP設定檔    
|  
+-ssl.crt    //ssl認證    
|  
+-ssl.key    //ssl密鑰    
|    
+-inc    
|  
|    
|  
+-CSmtp.php     //smtp發郵件類,用於FTP密碼發送和重設    
|  
+-ShareMemory.php //共用記憶體操作類    
|  
+-User.php     //使用者管理、檔案許可權管理、IP存取控制    
|    
+-logs  //記錄檔    
|    
+-reference //參考文檔    
|    
+-web    
|  
|    
|  
+-wwwroot    //FTP Web管理網站    
|  
+-CWebServer.php //FTP內建http伺服器    
|    
+-CFtpServer.php  //FTP伺服器主程式    
+-MyFtpServer.php //FTP入口程式

此篇文章先給大家介紹到這裡,後續還會持續更新。

以上就介紹了使用PHP如何?高效安全的ftp伺服器一,包括了發郵件,PHP程式員,隊列,Node.js方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.