Laravel 还是纯粹的 php?
Laravel or pure php?
我正在尝试使用 php 和 SQL 构建 Web CMS 应用程序。我还没有完全学会 Laravel,我可能需要更多时间来完成我的课程。我的问题是,Laravel 是否具有内置的额外安全性,还是与我们的 php 中的编码相同?没有人告诉我这个,我有一种感觉,我将不得不做大量的手动编码来使用纯 php.
来保护我的应用程序
请填写您的专家建议。
摩恩
使用框架并不能神奇地保护您的代码。你还是要保护它。
您可以将您的网络应用程序视为一个有很多门的房子。使用 pure PHP,您必须先建造您的门,然后才能使用它们。另一方面,Laravel(或任何框架)带有内置门,但如果您不使用它们,您的应用程序将不安全。
使用 Laravel
简化的保护示例
- CSRF 防护https://laravel.com/docs/5.3/csrf
- SQL 注射使用 Eloquent https://laravel.com/docs/5.3/eloquent
- 表单验证https://laravel.com/docs/5.3/validation
上面列出的所有保护都可以用纯 PHP 来完成,但是您将不得不编写大量代码。
我知道这已经晚了几年,但我想我会补充说,锁定您的 laravel 项目一旦投入生产并不需要太多努力。如果您如上所述使用 @csrf 和表单验证,那将覆盖您的 "doors" 。除了在服务器上使用 fail2ban 之类的东西并将所有内容指向 laravel 应用程序中的 public 文件夹之外,将减少暴力破解并阻止许多常见的 PHP 网络扫描每天来自恶意 IP 地址。在我的服务器上,我通常会看到某些 IP 地址正在扫描常见的 php、phpmyadmin 和 mysql.php 文件,这些文件不会出现任何 200 http 响应。此外,将站点的最终 product/compiled 版本放在它自己的目录中,并在 .env 中实现所有第 3 方信誉(这是 link 您的 laravel 项目到数据库所必需的) 文件,使恶意行为者很难找到系统文件和凭据。
此外,开箱即用的身份验证完成了所有 hashing for you "secure Bcrypt and Argon2 hashing". In addition to hashing, it has been noted that the Hash::make function creates and uses a 22-length random string as a salt to generate the password, from question . Which references a Wordpress article on laravel hashing and salting Laravel Hash::make() explained。希望这对阅读本文的人有所帮助。
如果您要将 laravel 站点部署到 VPS 或其他任何站点,那么我强烈建议每天或至少每两天访问日志并拒绝 ##IP 地址## ;任何试图访问他们不应该访问的 URI 的东西(因为你构建了它,你就会知道他们应该访问什么,不应该访问什么),并实施 fail2ban 以大大减少 ssh 暴力破解。如果有人需要更多信息或对在 wild/linux 服务器中维护 laravel 网站有更多疑问,我总是在这里。来自网络安全行业的某人,自由网络开发
我正在尝试使用 php 和 SQL 构建 Web CMS 应用程序。我还没有完全学会 Laravel,我可能需要更多时间来完成我的课程。我的问题是,Laravel 是否具有内置的额外安全性,还是与我们的 php 中的编码相同?没有人告诉我这个,我有一种感觉,我将不得不做大量的手动编码来使用纯 php.
来保护我的应用程序请填写您的专家建议。
摩恩
使用框架并不能神奇地保护您的代码。你还是要保护它。
您可以将您的网络应用程序视为一个有很多门的房子。使用 pure PHP,您必须先建造您的门,然后才能使用它们。另一方面,Laravel(或任何框架)带有内置门,但如果您不使用它们,您的应用程序将不安全。
使用 Laravel
简化的保护示例- CSRF 防护https://laravel.com/docs/5.3/csrf
- SQL 注射使用 Eloquent https://laravel.com/docs/5.3/eloquent
- 表单验证https://laravel.com/docs/5.3/validation
上面列出的所有保护都可以用纯 PHP 来完成,但是您将不得不编写大量代码。
我知道这已经晚了几年,但我想我会补充说,锁定您的 laravel 项目一旦投入生产并不需要太多努力。如果您如上所述使用 @csrf 和表单验证,那将覆盖您的 "doors" 。除了在服务器上使用 fail2ban 之类的东西并将所有内容指向 laravel 应用程序中的 public 文件夹之外,将减少暴力破解并阻止许多常见的 PHP 网络扫描每天来自恶意 IP 地址。在我的服务器上,我通常会看到某些 IP 地址正在扫描常见的 php、phpmyadmin 和 mysql.php 文件,这些文件不会出现任何 200 http 响应。此外,将站点的最终 product/compiled 版本放在它自己的目录中,并在 .env 中实现所有第 3 方信誉(这是 link 您的 laravel 项目到数据库所必需的) 文件,使恶意行为者很难找到系统文件和凭据。
此外,开箱即用的身份验证完成了所有 hashing for you "secure Bcrypt and Argon2 hashing". In addition to hashing, it has been noted that the Hash::make function creates and uses a 22-length random string as a salt to generate the password, from question
如果您要将 laravel 站点部署到 VPS 或其他任何站点,那么我强烈建议每天或至少每两天访问日志并拒绝 ##IP 地址## ;任何试图访问他们不应该访问的 URI 的东西(因为你构建了它,你就会知道他们应该访问什么,不应该访问什么),并实施 fail2ban 以大大减少 ssh 暴力破解。如果有人需要更多信息或对在 wild/linux 服务器中维护 laravel 网站有更多疑问,我总是在这里。来自网络安全行业的某人,自由网络开发