提高 PHP 安全性的一些建议

136 阅读5分钟

尽管PHP是最流行的脚本语言,但用它编写的应用程序很容易受到攻击。作为开发者,你有责任保护你的 PHP 代码安全和应用程序免受潜在黑客的攻击。


PHP 安全最佳实践

为了创建可能是最安全的 PHP 网站并且保护您的敏感数据,请从这些技巧开始。


始终牢记安全性

作为开发人员,我们倾向于使用我们不完全了解的工具,并且承受着在优先考虑功能性的最后期限之前承受的压力。 问题是我们最终将安全漏洞引入了我们的应用程序。

框架和库在解决这些问题上起到了很大的作用,正确使用这些框架提供的元素可以大大降低遭受攻击的风险。

明显的缺点是,框架本身有时容易受到攻击,当在框架中发现漏洞时,它会影响使用它编写的各种应用程序。 了解您正在使用的工具并了解 OWASP 十大漏洞以及如何保护应用程序免受攻击至关重要。 一些主要问题包括:

  • 身份验证失败:身份验证和会话管理功能的实现不正确。
  • 跨站点脚本(XSS):未经充分验证就将不可信数据存储在 Web 应用程序中。
  • 访问控制损坏:无法强制限制用户访问特定数据。
  • CSRF:一种攻击,迫使最终用户在当前经过身份验证的 Web 应用程序上执行不需要的操作。

OWASP 网站 (www.owasp.org/index.php/M…) 提供了完整的风险列表和预防建议。

具备完全合适的 PHP 基础架构

在你的系统中,如果基础架构建立得不合适,无论你在修补上做多大的努力,系统都不会有多好。你的架构是所有你系统中各样的工具、容器、负载平衡、数据库服务、缓存等等的基础。如果它没有良好适当配置,如果信用凭证失去管理,又或系统未及时更新,都可能导致未授权的用户通过不安全的网络与受限数据区交换数据或访问到系统中敏感数据。

确保你的网络安全也包括对网络威胁的理解、建立防火墙和减少其它新型攻击的保护评估。一些风险包括:


维护 PHP 代码

PHP 不断得到改进,每个新版本都增加了安全性改进。 因此,为了你 PHP 项目的安全,更新到最新版本的 PHP 将使你能得到最大收益。使用较旧的版本意味着一段时间后(通常是两年后)你将停止获得支持,并且你将无法获得对应用程序重要的安全补丁和错误修复。

如前所述,用 PHP 编写的代码具有固有的脆弱性。黑客总是有足够的时间,金钱和资源找到自己的方法来攻击。这意味着你的代码必须尽可能地做防护。 随着版本更新的到来,需要对代码进行必要的更改,以增加保护层并减少遭受攻击的机会。


培训所有的雇员

当安全风险完全预防成为不可能,但了解您的系统如何运行及其缺陷,将有助于您不仅降低风险,也有助于当攻击发生时能及时响应。教育您的团队了解一般的安全威胁与正确的 PHP 部署习惯都会使您的网站应用更安全 — 不仅仅是一时,而是长期一贯如此。

保证数据安全应当是整个组织的努力结果。首先,不仅仅是技术上的攻击;社交工程陷阱会以多种形式出现。社交工程陷阱涉及攻击来自操纵社交方式获取对相关确定信息或敏感信息的访问。黑客可能通过电话或电子邮件的途径联系您 IT 技术部门以外的人员,通过伪造身份的方式获取内部信息。通过正规的安全培训,能教育您的所有员工在类似场景下的正确应对。


长期支持的 PHP 安全的附加信息

保持 PHP Web 应用程序安全是一项持续的工作。Zend Server 提供了扩展 enterprise PHP support,包含 24/7/365 电话支持,bug 修复和 PHP 安全更新。询问报价并与专家交谈以了解更多信息。

八重樱:怎么从一名码农成为架构师的必看知识点:目录大全(不定期更新)​
zhuanlan.zhihu.com图标

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要的可以加入我的官方群点击此处