2012-10-25 64 views
9

我想選擇一個框架,它提供的Web應用程序真正良好的安全性,防止儘可能多的OWASP十大盡可能的,如:良好的PHP框架的強大的安全

  • SQL注入
  • XSS
  • CSRF
  • 認證
  • 授權

的事情是我已經試過研究確實嚴重: CakePHP中,Zend的,Yii的,代碼點火器,Kohana中有的有基本認證,也許有點授權,但沒有對需要可靠的代碼的安全性的任何應用程序。

上面提到的大多數漏洞類型是通過在這些框架中只編寫自定義代碼來實現的嗎?

這是我還挺使用框架的第一次體驗,一切都離了這點已經定製的PHP Web應用程序。我對PHP的框架整體想到的是這將是容易,以防止這些漏洞,因爲它不是本身,爲什麼還要用呢?或者有沒有我沒有看到的框架比上面列出的強大的Web應用程序安全性更好?由於

+1

在一天結束時,應該由您來保護您的應用。沒有像自動安全這樣的事情。 –

+0

Codeigniter內置了Injection,XSS,CSRF。身份驗證和授權是特定於應用程序的,因此編寫一個庫來覆蓋它們幾乎是毫無意義的,不是嗎? –

+0

我知道它不是自動的,但是有一個框架可以支持... – CodeTalk

回答

12

安全性不能應用於像某些單板這樣的應用程序。各種安全問題的是一些其他的方式進行處理,並且大多數PHP框架提供的工具來編寫安全代碼:

  • 戰鬥HTML注入/ XSS需要使用模板引擎的 (就像嫩枝)默認情況下會轉義數值或者使用組件驅動的方法來顯示HTML。沒有框架 會幫助你,如果你允許人們上傳他們的文件,並有 他們從你自己的域名服務(你必須使用單獨的域名 );

  • 您可以通過使用db幫助程序避免SQL注入,該幫助程序轉義查詢 參數;你提到的每個框架都提供了那些(以及當然你可以使用普通PDO的 );

  • 您可以使用會話綁定令牌來打擊CSRF。每個框架 提供了一些解決方案。但是,在每種情況下,您都必須以某種方式協助框架(通過向每個表單添加令牌或使用框架提供的表單抽象)。

所以在某種程度上 - 是的,你必須考慮安全性。我認爲任何PHP框架都不能做更多他們已經做的事情,除非有一個重大的範式轉變,讓我們通過在屏幕上拖動多彩盒子來設計應用程序,而不是接觸髒或不安全的東西,如HTML或SQL。你會期望什麼樣的支持?

+0

偉大的評論和思想在這裏fdreger!謝謝! – CodeTalk

+0

你好fdreger,你好嗎?我希望你很好=) 我可以聯繫你嗎?我真的需要你的幫助,如果你不介意關於一些PHP的問題=) 告訴我你最好聯繫的最佳方式=) –

1

你提到的發生在不同的,有時多層,而且往往依賴於什麼是您選擇這樣做很多他們將提供以防止這些東西設施的情況下,關鍵的漏洞,但你必須利用它。

例如兩者的Symfony(1.x和2)和Zend框架有一個表格組件/子框架,implments CSRF開箱。但這並不意味着默認打開(symfony的是......不記得zf是否)。當我們討論視圖層中的輸出轉義端時,與XSS一樣。

現在談到大型應用程序的框架偏好時,我個人喜歡Symfony 1.x和Symfony2,Zend Framework 1.x(不會提及zf2,因爲我還沒有玩過它)。對於我喜歡Silex(基於Symfony組件)的簡單事情。

8

我也想說嘗試CodeIgniter。

還笨是容易的,如果你與首次的框架工作使用,擁有不錯的用戶指南,是很容易理解的。

+0

如果我以前看到你的答案,我會給它檢查:)我想我會滾動與codeigniter :) – CodeTalk

+0

Anywho,好帖子@ – CodeTalk

+0

你好,埃沃,你好嗎?我希望你很好=) 我可以聯繫你嗎?我真的需要你的幫助,如果你不介意關於一些PHP的問題=) 告訴我你最好聯繫的最佳方式=) –