对用户的输入的数据进行安全验证

1.常见错误

1.1全局变量

一个基本的错误就是没有合理的进行全局变量的初始化。最好是把php.ini中的配置‘register_globals’的值设置为off(从php4.2开始默认关闭)以便避免类似错误的发生,但你仍然要注意此类问题。

1.2跨站运行脚本

通过跨站运行脚本技术,一个攻击者可以在用户的浏览器端执行一些客户端脚本,例如JavaScript,然后盗取用户的cookies或者其他重要数据。

2.SQL注入

SQL注入是一种攻击者将恶意的代码提交到服务器的数据库中去的方法。

3.HMAC(鉴定信息的关键字散列)

HMAC被证明为强大的加密方式而且应该被用来代替简易的验证算法。HMAC算法使用一个加密的健值对明文进行双重散列处理。具体步骤如下:

1.如果键值的长度小于64字节(大部分散列算法使用的块长度),我们就用\0把健值扩展到64字节;如果键值的长度大于64字节,我们将首先使用散列函数处理健值,然后用\0把健值扩展到64字节。

2.我们构建opad(用0x5C异或的64字节的健值)和ipad(用0x36异或的64字节的健值)。

3.我们通过运行散列函数处理ipad.plain text 来创建一个“内部”的散列。(因为使用一个“迭代”的散列函数,比如md5()或者sha1(),我们无须把键值提供给散列函数,然后再运行散列函数处理我们的明文。在内部,散列值同样会这么处理,这就是我们把键值扩充到64字节的原因。)

4.最后我们通过运行散列函数处理opad.inner_result——即第3步获得结果,来创建“外部”散列。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值