安全性是建立 Web 應用程式時的另一個重要功能。它向網站用戶保證他們的資料是安全的。 CakePHP 提供了一些工具來保護您的應用程式。
CakePHP中的安全庫提供了方法,透過這些方法我們可以對資料進行加密和解密。以下是兩種方法,用途相同。
1 2 |
|
加密方法將以文字和金鑰作為參數對資料進行加密,傳回值將是經過 HMAC 校驗和的加密值。
要對資料進行雜湊處理,請使用 hash() 方法。以下是 hash() 方法的語法。
1 |
|
CSRF 代表跨站請求偽造。透過啟用 CSRF 元件,您可以免受攻擊。 CSRF 是 Web 應用程式中的常見漏洞。
它允許攻擊者捕獲並重播先前的請求,有時還可以使用影像標籤或其他網域上的資源提交資料請求。只需將 CsrfComponent 新增至元件陣列即可啟用 CSRF,如下所示 -
1 2 3 4 |
|
CsrfComponent 與 FormHelper 無縫整合。每次使用 FormHelper 建立表單時,它都會插入一個包含 CSRF 令牌的隱藏欄位。
雖然不建議這樣做,但您可能想要在某些請求上停用 CsrfComponent。您可以在 beforeFilter() 方法期間使用控制器的事件調度程序來執行此操作。
1 2 3 |
|
安全元件為您的應用程式應用更嚴格的安全性。它提供了各種任務的方法,例如 -
限制您的應用程式接受哪些 HTTP 方法 - 您應該始終驗證在執行副作用之前使用的 HTTP 方法。您應該檢查 HTTP 方法或使用 CakeNetworkRequest::allowMethod() 以確保使用正確的 HTTP 方法。
表單竄改保護 - 預設情況下,SecurityComponent 會阻止使用者以特定方式竄改表單。 SecurityComponent 將阻止以下事情 -
無法將未知欄位新增至表單。
無法從表單中刪除欄位。
隱藏輸入中的值無法修改。
要求使用 SSL - 所有需要 SSL 保護的操作
限制跨控制器通訊 - 我們可以限制哪個控制器可以向該控制器發送請求。我們還可以限制哪些操作可以向該控制器的操作發送請求。
在 config/routes.php 檔案中進行更改,如下列程式所示。
config/routes.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
在 src/Controller/LoginsController.php 建立一個 LoginsController.php 檔案。 將以下程式碼複製到控制器檔案中。
src/Controller/LoginsController.php
1 2 3 4 5 6 7 8 9 10 11 12 |
|
在 src/Template 處建立目錄 Logins 並在該目錄下建立一個名為 index.php 的 View 檔案。將以下程式碼複製到該文件中。
src/Template/Logins/index.php
1 2 3 4 5 6 7 |
|
透過造訪以下 URL 來執行上述範例 - http://localhost/cakephp4/login
執行後,您將收到以下輸出。
以上是CakePHP 安全性的詳細內容。更多資訊請關注PHP中文網其他相關文章!