安全编码最佳实践: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,如需转载请自行联系原作者

相关文章
|
1月前
|
PHP 开发者 UED
PHP中的异常处理机制深度剖析与最佳实践####
本文深入探讨了PHP中的异常处理机制,通过实例解析了try-catch结构、自定义异常类以及多级异常捕获的高级用法。不同于常规摘要的概览性质,本文的摘要直接指向核心——即如何在复杂的项目开发中有效利用PHP的异常处理功能来提升代码的稳定性和可维护性,为读者揭示了构建健壮PHP应用程序的关键策略。 ####
32 1
|
1月前
|
PHP 开发者 容器
PHP命名空间深度解析及其最佳实践####
本文深入探讨了PHP中引入命名空间的重要性与实用性,通过实例讲解了如何定义、使用及别名化命名空间,旨在帮助开发者有效避免代码冲突,提升项目的模块化与可维护性。同时,文章还涉及了PHP-FIG标准,引导读者遵循最佳实践,优化代码结构,促进团队协作效率。 ####
27 1
|
2月前
|
监控 PHP 开发者
PHP中的异常处理:深入理解与最佳实践####
本文旨在通过探讨PHP中的异常处理机制,揭示其在现代Web开发中的重要性。我们将从基本概念入手,逐步深入到高级应用,包括自定义异常类、异常的最佳实践以及如何有效地捕获和处理多个异常,为开发者提供一套完整的解决方案来增强应用程序的健壮性和用户体验。 ####
|
2月前
|
SQL 安全 PHP
PHP开发中防止SQL注入的方法,包括使用参数化查询、对用户输入进行过滤和验证、使用安全的框架和库等,旨在帮助开发者有效应对SQL注入这一常见安全威胁,保障应用安全
本文深入探讨了PHP开发中防止SQL注入的方法,包括使用参数化查询、对用户输入进行过滤和验证、使用安全的框架和库等,旨在帮助开发者有效应对SQL注入这一常见安全威胁,保障应用安全。
68 4
|
2月前
|
SQL 安全 PHP
PHP安全性深度剖析:防范常见漏洞与最佳实践####
本文深入探讨了PHP编程中不可忽视的安全隐患,重点介绍了SQL注入、XSS攻击、CSRF攻击及文件包含漏洞等四大常见安全威胁。通过详尽的案例分析与防御策略阐述,为开发者提供了一套实用的安全编码指南。文章强调,提升代码安全性是保障Web应用稳健运行的关键,鼓励开发者在日常开发中积极践行安全最佳实践。 ####
|
2月前
|
API PHP 数据库
PHP中的异常处理机制深度解析与最佳实践####
本文深入探讨了PHP中异常处理机制的核心概念、工作原理及其在现代Web开发中的应用。通过剖析try-catch结构、自定义异常类及异常的继承体系,揭示了如何高效地捕获、处理并管理运行时错误,以提升应用的稳定性和用户体验。文章还结合实例,分享了在实际项目中实施异常处理的最佳实践,帮助开发者构建更加健壮的PHP应用程序。 ####
|
2月前
|
自然语言处理 安全 PHP
深入浅出PHP编程:从基础到实战
【10月更文挑战第36天】本文将带你走进PHP的奇妙世界,无论你是初学者还是有一定经验的开发者,都将从中获益。文章首先介绍PHP的基础概念和语法,然后通过实际代码示例,展示如何利用PHP进行高效的Web开发。最后,我们将探讨一些高级主题,如面向对象编程、数据库操作以及安全性问题。让我们一起开启PHP的学习之旅吧!
|
2月前
|
存储 Serverless PHP
PHP编程入门:从基础到实战
【10月更文挑战第35天】本文将带你走进PHP的世界,从最基本的语法开始,逐步深入到实际应用。我们将通过简单易懂的语言和实际代码示例,让你快速掌握PHP编程的基础知识。无论你是初学者还是有一定经验的开发者,都能在这篇文章中找到你需要的内容。让我们一起探索PHP的魅力吧!
|
2月前
|
PHP 开发者
PHP中的异常处理与最佳实践####
【10月更文挑战第29天】 本文深入探讨了PHP中异常处理的重要性及其实现方式,介绍了try-catch语句的使用方法和自定义异常类的创建。通过实例讲解如何在实际开发中有效捕获并处理异常,提高代码的健壮性和可维护性。 ####
46 4
|
1月前
|
SQL 安全 PHP
PHP安全性深度探索:防范常见漏洞与最佳实践####
本文深入剖析了PHP开发中常见的安全漏洞,包括SQL注入、XSS攻击、CSRF攻击及文件包含漏洞等,并针对每种漏洞提供了详尽的防御策略与最佳实践。通过实例分析,引导读者理解如何构建更加安全的PHP应用,确保数据完整性与用户隐私保护。 ####