安全编码最佳实践:PHP及编程语言安全

简介:

企业应该避免使用PHP开发应用吗?一些人认为,比起其它选择,PHP太不安全了。

  WhiteHat Security(白帽安全)公司最近发布了研究,他们使用自动化的工具查看1700个web站点,看看安全bug的数量和建立站点使用的编程语言之间是否有任何关联。总体的结论是,没有一种语言是“最安全的”。研究表明,某些语言确实有益于结构化地编写,易于管理代码,且某些框架提供默认开启的安全控制。PHP可能名声更坏,因为它不仅被广泛地使用,而且垃圾邮件发送者们利用了许多不安全的PHP形式来发送垃圾邮件(通过邮件注入)。

  甚至最忠实的PHP迷也会同意,对于一个未经培训的程序员来说,用像PHP一样的语言更容易写出不安全的代码。因特网上有数以千计的例子和教程来解释如何使用PHP将一个花哨的功能添加到开发的应用中,但是它们中的大多数没有涵盖如何确保这些功能安全,不让应用容易受到攻击,因此功能丰富的PHP应用通常没有以安全的思维进行开发。

  培训你的开发人员,让他们带着安全的思维来写代码,这比起语言的选择来说更为重要。CERT(Computer Emergency Response Team,计算机应急响应团队)发现,大多数应用中的漏洞来自开发人员不断重复犯的、一些数量相对少的常见编程错误。通过消除不安全的编码,并专注于安全编码培训,你的软件开发人员可以迅速地减少或消除漏洞的数量,直到软件最终上线。你可以用因特网上的许多优秀且免费的资源和教程来发展他们(开发人员)在这个领域的技能。这个领域的领导者之一是OWASP站点(Open Web Application Security Project,开放Web应用安全项目),它提供了许多关于如何安全编码的例子。

  CERT安全编码的出发点是为常用的编程语言建立安全编码标准,并促进安全编码的最佳实践。另一个提高你的开发人员安全编码技能的好资源,是微软的MSDN安全社区和编写安全代码部分。那里有许多由微软软件安全专家Michael Howard撰写的各种书,你可能感兴趣的包括“编写安全的代码(Writing Secure Code)”、“软件安全的24个致命过错(24 Deadly Sins of Software Security)”和“安全开发生命周期(The Security Development Lifecycle)”。许多涉及的主题可以应用到任何一种编程语言,并会帮助你理解如何带着安全思维来编码:那就是,正确地使用安全功能并编写能够经受攻击的代码。

  如果你开始将从这些资源中学到的融合起来,并且将安全嵌入到整个应用生命周期,无论你选择使用哪种语言,但愿你的下个应用会更加强健并且能够经受攻击。

  Michael Cobb是认证信息系统安全架构专家(CISSP-ISSAP),知名的安全作家,具有十多年丰富的IT行业经验,并且还从事过十六年的金融行业。他是Cobweb Applications公司的创始人兼常务董事,该公司主要提供IT培训,以及数据安全和分析的支持。Michael还合著过IIS Security一书,并为领先的IT出版物撰


本文转自寒意博客园博客,原文链接:http://www.cnblogs.com/hnyei/archive/2011/09/17/2179384.html,如需转载请自行联系原作者

相关文章
|
22天前
|
PHP 开发者
PHP中的异常处理与最佳实践####
【10月更文挑战第29天】 本文深入探讨了PHP中异常处理的重要性及其实现方式,介绍了try-catch语句的使用方法和自定义异常类的创建。通过实例讲解如何在实际开发中有效捕获并处理异常,提高代码的健壮性和可维护性。 ####
27 4
|
25天前
|
存储 数据处理 PHP
深入浅出PHP编程之数组操作技巧
【10月更文挑战第30天】在PHP编程的海洋里,数组是一艘承载着数据结构的小船,掌握其操控之道,能让开发者在编码的旅程中乘风破浪。本文将带你领略数组的强大功能,从基础使用到高级应用,一步步揭开数组操作的神秘面纱。准备好你的航海装备,让我们启航吧!
38 4
|
2月前
|
SQL 关系型数据库 MySQL
如何学习PHP编程?
【10月更文挑战第2天】如何学习PHP编程?
39 9
|
2月前
|
存储 前端开发 PHP
PHP编程之探索与实践
【10月更文挑战第2天】在这篇文章中,我们将一起探索PHP编程的世界。PHP是一种广泛使用的开源服务器端脚本语言,它适用于Web开发。文章将详细介绍PHP的基本概念、语法和常用功能,并提供实用的代码示例。无论你是初学者还是有一定经验的开发者,都可以从中获得启发和帮助。让我们一起开启PHP编程的旅程吧!
|
19天前
|
自然语言处理 安全 PHP
深入浅出PHP编程:从基础到实战
【10月更文挑战第36天】本文将带你走进PHP的奇妙世界,无论你是初学者还是有一定经验的开发者,都将从中获益。文章首先介绍PHP的基础概念和语法,然后通过实际代码示例,展示如何利用PHP进行高效的Web开发。最后,我们将探讨一些高级主题,如面向对象编程、数据库操作以及安全性问题。让我们一起开启PHP的学习之旅吧!
|
20天前
|
存储 Serverless PHP
PHP编程入门:从基础到实战
【10月更文挑战第35天】本文将带你走进PHP的世界,从最基本的语法开始,逐步深入到实际应用。我们将通过简单易懂的语言和实际代码示例,让你快速掌握PHP编程的基础知识。无论你是初学者还是有一定经验的开发者,都能在这篇文章中找到你需要的内容。让我们一起探索PHP的魅力吧!
|
25天前
|
PHP 开发者 容器
PHP命名空间深度解析与最佳实践####
本文深入探讨了PHP中命名空间(namespace)的机制、应用场景及最佳实践,旨在帮助开发者有效避免命名冲突,提升代码的组织性和可维护性。通过实例讲解,本文将引导您理解如何在实际项目中灵活运用命名空间,以及如何遵循业界公认的最佳实践来优化您的PHP代码结构。 ####
|
23天前
|
PHP 开发者
PHP 7新特性深度解析及其最佳实践
【10月更文挑战第31天】本文将深入探讨PHP 7带来的革新,从性能提升到语法改进,再到错误处理机制的变革。我们将通过实际代码示例,展示如何高效利用这些新特性来编写更加健壮和高效的PHP应用。无论你是PHP新手还是资深开发者,这篇文章都将为你打开一扇窗,让你看到PHP 7的强大之处。
|
26天前
|
JSON 缓存 前端开发
PHP如何高效地处理JSON数据:从编码到解码
在现代Web开发中,JSON已成为数据交换的标准格式。本文探讨了PHP如何高效处理JSON数据,包括编码和解码的过程。通过简化数据结构、使用优化选项、缓存机制及合理设置解码参数等方法,可以显著提升JSON处理的性能,确保系统快速稳定运行。
|
29天前
|
测试技术 持续交付 PHP
PHP在Web开发中的应用与最佳实践###
【10月更文挑战第25天】 本文将深入探讨PHP在现代Web开发中的应用及其优势,并分享一些最佳实践来帮助开发者更有效地使用PHP。无论是初学者还是有经验的开发者,都能从中受益。 ###
58 1