Laravel 专题
您的位置:php > Laravel专题 > Laravel安全
Laravel安全
作者:--    发布时间:2019-11-20
安全性在设计web应用程序是非常重要的特性。它确保了网站的用户数据的安全。laravel提供了各种机制来确保网站的安全。一些特征列出如下-
  • 存储密码 − laravel提供了一个名为“hash”类来提供安全bcrypt散列。密码可以通过以下方式散列。

$password = hash::make('secret'); 
  • make() 函数将使用一个值作为参数,将返回其哈希值。散列值可以用check()函数进行检查如下所示。

hash::check('secret', $hashedpassword)
上述函数将返回布尔值。如果密码匹配它将返回true,否则返回false。
  • 认证用户-在laravel其他主要安全功能是验证用户和执行某些操作。laravel使得此任务更容易,要做到这一点可以通过使用auth::attempt()方法。

if (auth::attempt(array('email' => $email, 'password' => $password))) {
   return redirect::intended('home');
}
auth::attempt()方法将凭证作为参数,并验证存储在数据库中的这些凭据,如果它是匹配将返回true,否则返回 false。
  • csrf保护/跨站请求伪造 (xss) − 攻击者把客户端的javascript代码放页面在其他用户查看的页面时,跨站点脚本(xss)攻击发生。 为了避免这种攻击,千万不要相信任何用户提交的数据并转义任何危险的字符。在blade模板应该使用双括号语法({{$value}}),

    如果使用 {!! $value !!} 语法,数据会其原始格式来显示所以一定是安全的。
  • 避免sql注入- sql注入漏洞当应用程序插入任意和未经过滤的用户输入的sql查询时存在的。默认情况下,laravel会保护免受这种类型的攻击,因为在后台查询生成器使用php数据对象(pdo)类。 pdo使用prepared语句,它允许您安全地传递任何参数,而无需转义它们。

  • cookies - 默认情况下安全 − laravel使用cookie类使得它很容易创建,读取和过期的cookies。在laravel所有的cookie是自动签名和加密。这意味着,如果它们被篡改,laravel将自动丢弃它们。这也表示你将不能够从客户端使用 javascript 读取。

  • 交换敏感数据时强制https − https防止在同一网络上拦截私人信息,如会话变量,并使用受害者这些信息来登录。


网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册