Laravel教程:各种机制确保网站安全

2018-10-0308:37:30后端程序开发Comments2,591 views字数 1042阅读模式
安全性在设计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防止在同一网络上拦截私人信息,如会话变量,并使用受害者这些信息来登录。
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6258.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/6258.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定