Laravel 具备所有安全措施吗?

问题描述 投票:0回答:2

我正在尝试使用 PHP 和 SQL 构建一个 Web CMS 应用程序。我还没有完全学会 Laravel,我可能需要更多时间来完成我的课程。我的问题是,Laravel 是否具有内置的额外安全性,或者与我们的 PHP 中的编码相同。没有人告诉我这一点,我有一种感觉,我必须做大量的手动编码才能使用纯 PHP 来保护我的应用程序。

php laravel security content-management-system
2个回答
9
投票

使用框架并不能神奇地保护您的代码。你还是要保护它。

您可以将您的网络应用程序视为一座有许多门的房子。使用纯 PHP,您必须在使用门之前先构建它们。另一方面,Laravel(或任何框架)带有内置门,但如果您不使用它们,您的应用程序将不会受到保护。

使用 Laravel 简化保护示例

上面列出的所有保护都可以使用纯 PHP 完成,但您必须编写大量代码。


1
投票

我知道这已经晚了几年,但我想我应该补充一下,一旦投入生产就锁定你的 Laravel 项目并不需要太多的努力。如果您使用@csrf 和如上所述的表单验证,这将覆盖您的“门”。除了在服务器上使用诸如fail2ban之类的东西并将所有内容都指向laravel应用程序中的公共文件夹之外,还将减少暴力破解并阻止每天来自恶意IP地址的许多常见PHP Web扫描。在我的服务器上,我通常会看到某些 IP 地址扫描常见的 php、phpmyadmin 和 mysql.php 文件,但不会出现任何 200 http 响应。此外,将网站的最终产品/编译版本放在自己的目录中,并在 .env(将 Laravel 项目链接到数据库所需的)文件中实现所有第 3 方信用,使恶意行为者很难查找系统文件和凭据。

此外,开箱即用的身份验证可以为您“安全 Bcrypt 和 Argon2 哈希”执行所有 hashing。除了哈希之外,还注意到 Hash::make 函数创建并使用 22 长度的随机字符串作为盐来生成密码,来自问题laravel 密码盐存储在哪里?。其中引用了一篇关于 Laravel 哈希和加盐的 WordPress 文章Laravel Hash::make() 解释。希望这对阅读本文的人有所帮助。

如果您将 Laravel 站点部署到 VPS 或其他任何设备,那么我强烈建议您每天或至少每两天检查一次访问日志并拒绝 ##IP 地址##;任何试图访问他们不应该访问的 URI 的东西(自从你构建了它,你就会知道他们应该访问什么和不应该访问什么),并实现fail2ban 来大大减少 ssh 暴力。如果有人需要更多信息或对在野外/Linux 服务器上维护 Laravel 网站有更多疑问,我总是在这里。来自网络安全行业的自由网络开发人员

© www.soinside.com 2019 - 2024. All rights reserved.