首先,您必须应对的是教程等的“最新”程度。例如,prepared statements 在 2004 年左右之前甚至不存在,因此从那时起您将不会在 php 教程中看到它们,并且在之后的一段时间内也不会看到它们——因为在他们在代码中添加了一些东西之后,它在我们开始在教程等中看到它之前,新闻需要时间来传播,并且需要足够的人来学习它。随着语言的变化,做事的基本方式也会发生变化。这适用于所有语言——不仅仅是 PHP。
其次,关于 PHP 可能发生的最糟糕的事情是有人删除了您的 SQL 数据库表并窃取了每个人的帐户信息。相比之下,高级语言 C++、Python、Perl 等可能发生的最糟糕的情况是有人在服务器上安装了 BIOS rootkit。简而言之,高级语言 = 在理论上可以做的更邪恶的事情,在安全方面甚至更高的赌注。简而言之,一种语言的能力越强,可能的安全隐患就越严重——因此,我们必须选择正确的工具来完成我们想要完成的工作,考虑到我们需要什么能力(可能会牺牲一些我们想要的能力) .
很有可能,如果您没有将 PHP 代码设计为安全的,那么您可能也不会保护您的 C++、Java、JavaScript、Python、Perl、Ruby(在此处填写空白)代码,因为这些语言比 PHP 更难学。虽然某些语言比其他语言更容易编写安全代码,但您仍然面临大多数人能够掌握“hello world”脚本之外的语法的可访问性问题。这就是我们在互联网上看到的 PHP 比任何其他语言都多的原因之一。(这和像 ASP 这样的语言是专有的,并且带有价格标签。这是杀死 VisualBasic 的原因之一——微软很快发现人们愿意在愿意付费之前盗版它。)