`

使用和学习PHP有多难

阅读更多

PHP不是什么复杂高深的技术,但同时,你也不要期望能够在5分钟之内就成为专家。对于新手来说,最大的不适应可能就是PHP的容错度比浏览器对HTML的容错度要低得多。在HTML中如果漏掉了一个结束标签,大多数的浏览器仍然会显示该页面。在PHP中,如果你漏掉了一个结束引号、分号或大括号,将会像图1-3所显示的那样得到一条错误消息。这不仅仅是PHP的一个特性,所有的服务器端技术都是如此,包括ASPASP.NETColdFusion

 

1-3 像PHP这样的服务器端语言无法容忍大多数的编码错误

如果你是使用可视化设计工具(如Adobe DreamweaverMicrosoft Expression Web)的网页设计人员或开发人员,并且从不留意基础代码,那么是时候该反思一下你的方法了。将PHP和结构差的HTML混合在一起有可能会导致一些问题。PHP利用循环来执行重复性任务,如显示数据库搜索的结果。一个循环loop)重复同一段代码(代码通常同时包含PHPHTML),直至所有的结果都显示出来。如果你将循环放到了错误的位置,或者HTML的结构差,那么页面就有可能像用纸牌搭的房子一样倒塌。如果你还不习惯这样做,使用W3CWorld Wide Web ConsortiumMarkup Validation Servicehttp://validator.w3.org/unicorn)来检查你的页面是一个不错的主意。

W3C是一个国际组织,它负责制定标准(如HTMLCSS),并制定保证Web长期发展的指导方针。它由World Wide Web的创立者Tim Berners-Lee所领导。要想了解W3C的使命,参见www.org/Consortium/mission

   是否可以只复制和粘贴代码

 

复制这本书中的代码没什么错,这正是它们存在的目的。复制是我们小时候都学习过的方法,但我们大多数人都会摆脱模仿的阶段,我们会提出问题并且开始亲自实验。我并不打算用一些对于网页没有直接价值的乏味的练习题来教你学习PHP,本书就是要让你可以直接将新获得的知识运用到实际项目中。同时,我会解释代码是用来做什么的以及它为什么出现在那里。即使不能准确地理解它的工作原理,你也会获得足够的知识来了解代码的哪个部分适合你的需要,哪个部分最好不要去理会。

PHP是一个提供了大量强大功能的工具箱。它拥有数千个内置函数,可以执行各种任务,如将文本转换成大写,从完整尺寸的图像生成缩略图,或连接到数据库。真正的强大之处在于将这些函数以不同的方式组合使用,并且添加进你自己的条件逻辑。为了从本书中学到更多内容,你需要用你在书中学到的工具进行实验,并且提出你自己的解决方案。

PHP的安全性

PHP就像是你家中的电或菜刀:如果正确使用,它是非常安全的;如果不负责任地操作,它就会造成许多伤害。本书第1版的灵感之一就来自2005年年末接二连三爆发的恶意攻击。这些攻击利用了电子邮件脚本的一个漏洞,将网站变成了垃圾邮件中继。没有几个人免遭危害。我当然也未能幸免,但是意识到这个问题以后,我修补了漏洞,并及时制止了这些恶意攻击。不过,每天都有人发送紧急的请求到在线论坛上以寻求帮助。即使被告知如何处理这种问题时,他们的回复甚至变得更加抓狂。许多人承认他们完全不了解他们在网站中使用的代码。有些人把创建网站当成一种业余爱好,这似乎是可以理解的,但是这些人中有许多都是替客户创建网站的“专业人士”。当这些客户们的邮箱开始充满垃圾邮件时,他们自然就会很不高兴。当主机托管公司由于无法忍受服务器上的不安全脚本而将客户的域名禁用时,他们毫无疑问会更加不高兴。

这个故事的寓意不在于PHP是不安全的;也不在于每个人都需要成为使用PHP的安全专家。重要的是了解PHP安全性的基本原则:在处理用户输入之前必须进行检查你会发现这将成为贯穿本书始终的主题。只要付出很少的努力,大多数的安全风险就能够被消除。

最令人担心的方面可能是在这个问题被首次揭示出来五年多之后,我仍然能看到许多人在使用不安全的邮件脚本。保护自己的最佳方法就是了解你正在使用的代码。即使你不能自己解决问题,也可以实施由脚本的编写者或其他专家建议的补救措施。 

——摘自《PHP动态网页设计(第2版)》

分享到:
评论

相关推荐

    PHP入门学习资料,英文的,但不是很难,可以看懂

    了解如何使用`try-catch`块处理异常,以及使用`var_dump()`和`print_r()`查看变量信息,能有效提升代码质量。 虽然这份学习资料是英文的,但难度适中,适合有一定英语基础的初学者。通过阅读和实践,不仅可以提升...

    功能强大的PHP授权验证系统完整开源版-无任何加密-全权使用

    本源码提供给大家学习研究借鉴美工之用,请勿用于商业和非法用途,无任何技术支持! 这是一套PHP为后端驱动,配合MySQL数据库开发的一套高性能、高可用、功能多、难破解、多应用、轻量的一套程序验证系统。 并且...

    给php新手谈谈我的学习心得

    接着后天就要回福州了,由于家里还没装网络,因此,得有一段时间不能来论坛了,在这之前,我想了下,我给新手解答过问题,演示过代码,好像没谈过自己的学习心得,临走之前,我就来谈谈我学习PHP的心得,虽然是老生...

    PHP编程一百例。。从简单到复杂

    "PHP编程一百例"是一个非常实用的学习资源,它包含了从基础到高级的各种示例,旨在帮助初学者和有经验的开发者更好地理解和运用PHP语言。这份资源提供了丰富的源码和配套图片,使得学习过程更加直观和生动。 1. **...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的WEB站点。本教程并不想让你完全了解这种语言,只是能使你尽快加入开发动态web站点的行列。我假定你有一些HTML...

    PHP和JAVA哪个入门好?共10页.pdf.zip

    此外,PHP有大量的开源框架(如Laravel、Symfony等)和丰富的社区资源,这为初学者提供了很多学习和解决问题的途径。 相比之下,Java是一门面向对象的、跨平台的编程语言,广泛应用于企业级应用开发、Android移动...

    php开发流程和经验

    一方面是因为国内使用.NET等技术栈较多;另一方面,PHP程序员需要具备一系列相关的技能才能成为真正的专家。 **技术栈的要求:** 通常,招聘PHP开发者时会要求具备一定的经验,并熟悉特定的技术栈,例如: - **熟悉...

    十天学会php之第四天

    记得实践是检验真理的唯一标准,多做练习,结合实例去巩固这些知识,你会发现PHP的学习并不像想象中那么难。在后续的几天里,我们将继续探索更多高级主题,如数据库交互、模板引擎、框架应用等,一步步助你成为一名...

    实战突击php案例

    书中案例难度可能由浅入深,适合从基础开始学习PHP的读者。此外,描述中提到这本书“很难找”,暗示它可能已绝版或者出版量不多,获取起来较为困难,这也可能是作者分享这本书的初衷之一。 标签“php”直接点明了...

    PHP-X让有一定工作经验的PHP程序员都能扩展.doc

    Zend API几乎没有任何文档,开发者如果要真正掌握这项技能需要付出大量的学习时间。   于是我今年就冒出一个新的想法,基于我编写swoole扩展超过5年的经验,我试图在Zend API和C 之间建立一个包装层,让PHP...

    PHP MySQL初级教程.doc

    PHP 是一种易于学习和使用的服务器端脚本语言,它可以让你生成动态网页,是完全免费的,不用花钱,可以从 PHP 官方站点自由下载。PHP 遵守 GNU 公共许可(GPL),在这一许可下诞生了许多流行的软件诸如 Linux 和 ...

    PHP教程 初级教程

    PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的WEB站点。本教程并不想让你完全了解这种语言,只是能使你尽快加入开发动态web站点的行列。我假定你有一些HTML...

    Python、Java、PHP哪个难?看完秒懂!.docx

    - **强大的社区支持**:Python拥有一个庞大且活跃的社区,这意味着有大量的开源库和框架可供使用。 - **广泛的应用场景**:从Web开发到科学计算、数据分析乃至机器学习,Python几乎可以在所有这些领域找到应用场景。...

    php+mysql在线考试系统

    《PHP+MySQL在线考试系统的构建与应用》 在数字化教育的时代背景下,PHP+MySQL构建的在线考试系统成为了教育领域不可或缺...随着技术的不断发展,我们期待在线考试系统能带来更多创新和优化,更好地服务于教学和学习。

    基于PHP的bt种子程序php版源码.zip

    7. **多线程与并发处理**:处理多个下载请求时,可能需要使用PHP的多线程或并发处理功能,例如pthreads扩展。 8. **会话管理**:保持用户会话,跟踪下载进度,确保用户权限,这都需要会话管理技能。 9. **错误处理...

    毕业设计_JQuery+HTML+PHP自动组卷系统

    【标题】"毕业设计_JQuery+HTML+PHP自动组卷系统"揭示了这是一个结合了前端技术和后端技术的项目,旨在...这个项目对于学习和掌握全栈开发技能,特别是Web开发中的交互设计和服务器端逻辑处理,具有很好的实践价值。

    PHP实例开发源码—php清新淡雅博客主题Nocower-one.zip

    总的来说,"PHP实例开发源码—php清新淡雅博客主题Nocower-one.zip"是一个涵盖了PHP基础、MVC架构、数据库操作、前端技术等多个方面知识的实战项目,对于学习和实践Web开发的人来说,是一个非常有价值的资源。...

Global site tag (gtag.js) - Google Analytics