在测试的时候,我们会经常遇到引用了外部依赖的对象,比如:发送邮件、Log记录、文件系统操作等等,这些外部依赖我们很难控制,这时,就可以通过测试替身来模拟这些外部依赖行为,从而让测试进行下去。
PHPUnit 提供了生成测试替身对象的方法:
createMock($type)
getMockBuilder($type)
前者返回的对象 = 后者使用默认值生成的对象
目前我们公司接口全部采取的是 HTTP 协议,接口的权限是通过验证 TOKEN 令牌(用户登录成功后,通过用户id参与生成的唯一码)。
存在的隐患:可以通过抓包很容易获取到 TOKEN,此后便可以对系统做很多攻击操作了,比如:恶意数据插入、修改参数等等。
因此,需要对API的请求加上更多安全验证。
这里,计划采用数据签名的方式来防止参数修改。至于其他像恶意数据插入这些安全隐患可以从业务逻辑上防止,就不在这里处理了。
AES (Advanced Encryption Standard), 是一种很常见的对称加密算法,通信双方保存一致的私钥,来完成加密解密。 Web开发中,通常被用于加密传输密码等重要信息。
通信原理: