当前位置 : IT培训网 > PHP开发 > PHP培训 > php开发工程师必知的PHP项目的安全问题

php开发工程师必知的PHP项目的安全问题

时间:2016-08-15 17:33:09  来源:PHP培训网  作者:石家庄IT培训网  已有:名学员访问该课程
标签(Tag):   php开发培训(12)
你坐在自己的工位,翻阅着项目规划,思考着如何构建代码,这时候电脑上一个弹窗吸引了你。"某公司网站被黑,所有客户数据都被盗取"。如果自己的项目出现了问题,怎么办?

任何的网站和手机app应用,都需要一个安全性。今天IT培训网我们只谈PHP的安全问题。

2016年的某一天,一位企业主突然想到了一个绝佳的思路和理念来占领和扩宽市场,但在这个时代,没点互联网思维都不好意思开公司啊,所以必须得先独立开发一个Web应用出来。

最终,CEO决定,雇佣一位PHP程序员来构建公司网站。

而你,就是一位PHP开发者,并且这家公司恰巧雇佣了你。

你坐在自己的工位,翻阅着项目规划,思考着如何构建代码,这时候电脑上一个弹窗吸引了你。"某公司网站被黑,所有客户数据都被盗取"。

你回过头来继续看着项目规划,突然想到如果自己的代码中出现了这些安全问题,那该怎么办呢?不由得出了一身冷汗。

那,如何才能提高PHP应用的安全性呢?

理解安全的本质

安全不是某个产品,也不是某个威胁清单,更不是某种绝对的保障。

安全是一个过程,更是面对风险时的成熟心态。

想做到绝对的安全是不可能的,但另一方面,攻击者同样需要考虑成本问题,如果你将攻击该系统的成本提高到攻击者没有兴趣去攻击,或者不愿意去攻击,那么我们的目的也就达到了。

但一般来说,提高攻击者攻击系统的成本,意味着降低用户的使用体验和系统的可用性。所以,更完美的情况是,我们既做到提高攻击者攻击成本,又对系统本身的体验度没有影响。

1.使用php 7进行开发

php 7中有三个比较重大的改动,对于提高应用安全性有很大帮助。

①.移除了旧版本中对于mysql_*函数的支持,因为这一函数在许多情况下是不安全的。

②.允许在代码中增加标量类型说明。

③.使用了更安全的随机数生成器

MySQLi和PDO扩展都支持预处理语句,但老的Mysql扩展并不支持。

总之,php 7是php语言的一个重要转折点,使用php 7可以更容易写出安全的代码。

2、用安全的headers

如何判断你的网站的headers是否安全呢?

安全专家搭建了一个网站(http://securityheaders.io),可以快速监测你的网站是否开启并正确设置了安全配置。

当然了,有些headers并不是必须要加,例如X-Frame-Options,如果你的网站确实需要用到frame框架,那你就可以不加这个headers。

有些开源程序可以辅助你更容易地完成对headers的设置,例如CSP Builder(作者将其公布在了Github上)。

不过还是强烈建议,你应该加上下面这些headers

Strict-Transport-Security

X-Frame-Options

X-XSS-Protection

3、使用可靠的参考资料和书籍

你可能会认为最后一点有些难以理解和牵强,其实,这一点是非常重要的。为什么单独提出这点呢?因为市面上php的书籍非常繁杂,而且质量也参差不齐。

许多的书籍中并没有涉及到安全开发方面的知识,如果开发者阅读这方面书籍过程中受到了误导,那么开发出来的程序肯定也会存在一些安全问题。

尽管使用php 7对提高程序安全性有一定作用,但是开发者具备基本的安全素质还是很有必要的。

如果你做到了以上四点,那么程序安全性一定会有很大的提高,并且在面对黑客攻击和处理威胁的过程中,你也会从容许多。

4、全局使用HTTPS

如果网站能够全局部署HTTPS,那么就不用再担心session劫持攻击了。并且使用Let's Encrypt和Caddy等一些开源项目部署HTTPS是十分容易的,虽然HTTPS在网络通信中增加了一层认证来加密你的通信,但是它占用的CPU和内存几乎是可以忽略不计的,并且在使用HTTP/2的情况下,HTTPS的通信速度要快于HTTP。

并且,使用正确的HTTPS证书,会有利于提高搜索引擎排名。

顶一下
(0)
0%
踩一下
(0)
0%

IT培训0元试听 每期开班座位有限.0元试听抢座开始! IT培训0元试听

  • 姓名 : *
  • 电话 : *
  • QQ : *
  • 留言 :
  • 验证码 : 看不清?点击更换请输入正确的验证码

在线咨询在线咨询

温馨提示 : 请保持手机畅通,咨询老师为您
提供专属一对一报名服务。

------分隔线----------------------------
------分隔线----------------------------

推荐内容