鍍金池/ 教程/ PHP/ Laravel安全
Laravel操作數(shù)據(jù)庫
Laravel會話(session)
Laravel文件上傳
Laravel Cookie
Laravel Facades
Laravel應用程序結構
Laravel響應
Laravel插入數(shù)據(jù)庫表數(shù)據(jù)
Laravel錯誤處理
Laravel環(huán)境安裝配置
Laravel本地化
Laravel Ajax
Laravel路由
Laravel錯誤和日志記錄
Laravel檢索查詢數(shù)據(jù)
Laravel更新數(shù)據(jù)
Laravel刪除數(shù)據(jù)
Laravel表單處理
Laravel中間件
Laravel控制器
Laravel驗證
Laravel安全
Laravel請求
Laravel發(fā)送郵件
Laravel重定向
Laravel教程
Laravel配置
Laravel事件處理
Laravel視圖

Laravel安全

安全性在設計Web應用程序是非常重要的特性。它確保了網(wǎng)站的用戶數(shù)據(jù)的安全。Laravel提供了各種機制來確保網(wǎng)站的安全。一些特征列出如下-
  • 存儲密碼 ? Laravel提供了一個名為“Hash”類來提供安全Bcrypt散列。密碼可以通過以下方式散列。

$password = Hash::make('secret'); 
  • make() 函數(shù)將使用一個值作為參數(shù),將返回其哈希值。散列值可以用check()函數(shù)進行檢查如下所示。

Hash::check('secret', $hashedPassword)
上述函數(shù)將返回布爾值。如果密碼匹配它將返回true,否則返回false。
  • 認證用戶-在Laravel其他主要安全功能是驗證用戶和執(zhí)行某些操作。Laravel使得此任務更容易,要做到這一點可以通過使用Auth::attempt()方法。

if (Auth::attempt(array('email' => $email, 'password' => $password))) {
   return Redirect::intended('home');
}
Auth::attempt()方法將憑證作為參數(shù),并驗證存儲在數(shù)據(jù)庫中的這些憑據(jù),如果它是匹配將返回true,否則返回 false。
  • CSRF保護/跨站請求偽造 (XSS) ? 攻擊者把客戶端的JavaScript代碼放頁面在其他用戶查看的頁面時,跨站點腳本(XSS)攻擊發(fā)生。 為了避免這種攻擊,千萬不要相信任何用戶提交的數(shù)據(jù)并轉義任何危險的字符。在Blade模板應該使用雙括號語法({{$value}}),

    如果使用 {!! $value !!} 語法,數(shù)據(jù)會其原始格式來顯示所以一定是安全的。
  • 避免SQL注入- SQL注入漏洞當應用程序插入任意和未經(jīng)過濾的用戶輸入的SQL查詢時存在的。默認情況下,Laravel會保護免受這種類型的攻擊,因為在后臺查詢生成器使用PHP數(shù)據(jù)對象(PDO)類。 PDO使用prepared語句,它允許您安全地傳遞任何參數(shù),而無需轉義它們。

  • Cookies - 默認情況下安全 ? Laravel使用Cookie類使得它很容易創(chuàng)建,讀取和過期的cookies。在Laravel所有的Cookie是自動簽名和加密。這意味著,如果它們被篡改,Laravel將自動丟棄它們。這也表示你將不能夠從客戶端使用 JavaScript 讀取。

  • 交換敏感數(shù)據(jù)時強制HTTPS ? HTTPS防止在同一網(wǎng)絡上攔截私人信息,如會話變量,并使用受害者這些信息來登錄。