PHP开发者推荐书籍

原创 2015年07月08日 10:00:55

 

  防止PHP hack的最佳防护

  编写安全的PHP代码不是一个对PHP开发者隐藏的、秘密的黑色艺术。但是信心太零散了,你需要花费数周或数月(或不再这么长时间)去收集某些散篇目录或法则的、好的安全实践。甚至只有真的经验才会告诉你它有多重要。

  幸亏Ben Edmunds已经为你做好了。它最近出版了《Building Secure PHP Apps – a Practical Guide》,它是我读过的最好的安全相关的书籍之一,当然也是最好地涵盖了PHP。本文我将详述为什么我认为每个PHP开发者应当阅读。

  本书是个简明指导,把你带到做为一名开发者的下一个等级,让你打造更好、更安全的脚本。

  简介

  本书很快就进入了web开发的常识规则:不要相信你的用户,过滤所有输入。从一个小情景开始,跳到了用户能够进入系统的技术方法。第一章的主题有:

  • SQL注入
  • 大量赋值字段
  • 类型转换
  • 过滤输入/输出

  这些都是PHP新手(和一些老手)一直容易忽视的地方。过滤输入被很多人看作是可选的一步,这一章做了大量讨论。

  在阅读过程中,让我想起了多年前我的第一天工作,当时我深挖现存代码,找到了新用户创建脚本的代码:

if ($_POST["isadmin"] == 1) {
// code to set to admin in database 
}

  当看到这段代码时,我感到非常恐慌,因为它是一个非常有效的脚本,很容易被一个恶意用户搞定,猜出来并插入一个简单的表单变量,进而访问大约5,000个信用卡卡号和其他的个人信息。

  深挖后我发现如下代码:

$sql = "INSERT INTO database (id,name,...) VALUES (" . $_POST["Name"] . ");"

  我在第一天差不多就走出了那份工作,因为他们正依靠这些可怕的代码。这些代码就在那儿,由你负责改变,一定要避免产生更多。

  本章讨论了像这样的代码为什么是巨大的风险,以及如何修复。

  HTTPS和证书

  这是另一个领域,Ben包含了脚本、故事和一点点幽默,同时也清晰地解释了不太清晰的HTTPS的概念。他解释的方式,甚至你的老板都能理解。

  本书非常全面地描述了证书的工作原理、证书类型以及实现方法,甚至包括如何在Apache或Nginx上部署。

  密码

  本书对于密码、哈希、表查询(lookup tables)和salts做了仔细的解释,这对开发人员创建用户登录系统有着令人难以置信的帮助。

  这是一个甚至在2014年都极度缺乏的领域。我仍然能碰到过存储纯文本的密码或像ROT13加密【注1】来保护他们的愚蠢方法的应用程序。为了让人们使用你的应用程序,以及你的好名声,请不要这样做。

  密码和其它敏感数据应该非常难以获取,甚至有人拿到数据库的所有权限。这本书很全面地包括了,会给你设计更好系统的不错指导。

  身份验证和访问控制

  本书包含的主题非常全面。当你构建新的PHP应用程序时,某些首要考虑是:

  • 谁能够访问哪些资源?
  • 谁能够控制其他用户访问?

  这是考虑应用程序、特别是处理敏感数据的应用程序的重要地方。企业里的相当一部分开发就是致力于此。如果你不正确地建立了身份验证访问控制,最可能发生的就是你让用户感到困扰,并产生了更多的工作。比这更糟糕的是服务器数据缺口 以及/或者 数据毁坏。

  本书很好地覆盖了基础知识,然后它深入到像控制访问文件或应用程序单个页面之类的工作,还有很多供参考的代码示例。

  特定利用

  本书涵盖了一些普通的利用来破坏系统,非常详细地探索了跨站点脚本,它可以说是攻击者利用应用程序的最普通的方法。它解释了不同种类的攻击,以及如何保护自己。

  不错吧?你能够通过这个链接打折购书!

  我最喜欢这本书的地方

  在阅读本书过程中,我真正享受的是,信息是如何以对于初学者和有经验的程序员都有用的方式呈现的。有一系列概念被提出,它们是什么以及如何自我保护。有大量的代码示例,而不像一些技术书籍所具备的“填充码”。

  你可以很快通读本书,因为没有太多内容。新手可以通读本书,检查每个主题,开始看看他们的代码,并作出修正。记住在这个事情上,你需要持续修改。如果你回头看看,一定会为六个月前写的代码感到羞愧,你在做正确的事情。

  更高级的、有经验的程序员可以使用这个指南填补他们的弱点(不管你在这个行当多长时间了,你有弱点的,承认吧),更好地了解他们在工作中使用的系统。例如,这么多年我疯了似的使用身份验证,但是从来没有在本书提到的层面考虑过。

  不管你是谁,你会学到东西的。因此不要看本文了,去买一份拷贝吧!使用这个链接购买是有折扣的!!

PHP新手推荐书籍

PHP手册 http://php.net/manual/zh/index.php PHP英文  http://www.phptherightway.com/ 新人 《PHP和MySQL Web开发...
  • sun2728
  • sun2728
  • 2015年07月06日 15:16
  • 331

Wuawua知识管理 -- PHP推荐书籍

广告: Wuawua.com知识管理网站,打算搜集和整理计算机科学的知识,通过知识推荐和知识地图的方式呈现,希望对您的职业发展有所帮助。 与此同时,Wuawua也是一个开放的知识管理平台,希望您能...
  • u010523869
  • u010523869
  • 2013年05月12日 08:01
  • 451

每个PHP开发者都应该看的书

 http://www.labazhou.net/2014/06/the-book-every-php-dev-should-read/ PHP这几年口碑很差。关于它的“糟糕设计的汇总...
  • yjier
  • yjier
  • 2014年12月31日 10:39
  • 1653

计算机专业及软件开发推荐书籍

计算机专业及软件开发推荐书籍       计算机专业推荐书籍:                 吾不能有名师指导,但求能精选出最好的书籍,从最好的书中学到东西,可有些...
  • the_snow_n_xitang
  • the_snow_n_xitang
  • 2017年11月18日 22:40
  • 515

Facebook开放平台 - 创建应用

APPS(https://developers.facebook.com/apps) 这个页面太重要了,我们要创建一个facebook应用就是在这个页面,具体的如何创建,一看就明白,但是我说一个重要...
  • song_shi_chao
  • song_shi_chao
  • 2012年09月27日 20:04
  • 1530

iOS与Android开发者,到底谁挣的多?

最近投资银行Piper Jaffray的一篇调查文章称,Android的开发者所获得的收益仅占苹果iOS的开发者所获收益的7%。这篇文章的前提是开发者显然会去赚钱多的平台,因此Android想吸引...
  • leiphone
  • leiphone
  • 2011年12月17日 14:32
  • 359

推荐书籍

 推荐书籍  人的精力是有限的,当前计算机相关书籍相当丰富,所谓林子大了什么鸟都有,所以首先不要乱读书,以免被误导或浪费时间。这样我们学习的步骤第1是选书,第2是按顺序看书。 以下是我个人认为值得推荐...
  • Micro_lee
  • Micro_lee
  • 2007年09月16日 13:03
  • 1266

微信公众平台开发者模式接入PHP代码

$timestamp=$_GET['timestamp'];  $nonce=$_GET['nonce'];  $token='weixinr';  $signature=$_GET['signatu...
  • wtf_tpge
  • wtf_tpge
  • 2016年11月21日 09:59
  • 2297

Subversion API 函数和开发思路介绍

      现在与一些朋友在考虑写一个开发合作与在线交流、资源共享相结合的程序。查找资料的时候,发现了Subversion 。迷上它了。先它的说明书中,还没有翻译成中文的部分(就是贴在下面的东西)翻译...
  • chsegang
  • chsegang
  • 2004年07月22日 17:58
  • 4846

推荐书籍

推荐书籍  人的精力是有限的,当前计算机相关书籍相当丰富,所谓林子大了什么鸟都有,所以首先不要乱读书,以免被误导或浪费时间。这样我们学习的步骤第1是选书,第2是按顺序看书。 以下是我个人认为值得推荐之...
  • hailanlan1223
  • hailanlan1223
  • 2006年09月08日 00:11
  • 876
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP开发者推荐书籍
举报原因:
原因补充:

(最多只允许输入30个字)