项目开发上线中一些注意点(备忘)


1. 配置信息放在自己配置文件中,内部信息,并且也别做版本管理提交到版本库中。


2. 比如:微信支付提供SDK中需要appid,key等内部信息,别放在SDK中的配置文件中,放自己的配置文件里。模块的功能函数别放全局函数库中,可以认为避免污染,混淆


3. 对于$_GET,$_POST获取到的参数,除了不能直接输出在页面模板中,防止XSS攻击之外,在服务端的参数构造上也要进行过滤检查,因为很容易被修改。(都是泪啊)

总之,永远不要相信客户端的所有输入。


4. 注意方法访问的安全,有的方法应该只能内部访问,避免外部传参直接访问。public和protect.


5. 关于金额操作,请用十二分心。比如支付,除了验证签名外,比对金额也很重要。

别写这种哦,尤其是一元夺宝项目

if(intval($amount) > 0){
    //比对金额
}

因为有的支付并不是以元为单位,比如微信支付的金额单位就是分,比如充值0.01元,你转为intval就是0了。


6.比如商城,添加品牌的同时,应该对品牌管理,表示出品牌和商品分类的关系。


7.注意线上日志的处理。比如设置定时任务,分析处理日志。


8. 一定要部署一个测试环境,尽量放测试服务器,实在不行就本地。代码先测试再上线。


9. 关于订单,未支付成功的订单,重新发起支付时,还是要让用户选择支付方式。因为支付方式存在手机端和PC端等分类,H5和原生等。


10. 如果是小项目(单数据库,单服务器),且数据库和项目代码在同一台服务器上,那么代码中链接数据库的host使用127.0.0.1或者localhost会比填服务器ip在数据库链接速度上快很多。


11. 注重网页加载的体验。除了基本的css,js文件放置位置,文件压缩,gzip压缩等等优化技巧,在css的书写上,也应该将让影响布局的先写,这样以增强页面加载时的体验,减少dom的跳动等。


12. 关于商城。 要处理好商品分类,商品分类,商品类型,商品属性的关系。给商品指定商品类型,然后去选择这个类型应该有的属性。


13. 如果修改了服务器的dns配置文件,/etc/resolv.conf。 可能php curl访问某域名的时会域名解析报错, 比如 temporary failure in name resolution 。首先先确定目标域名是否能正常访问,之后直接在服务器ping 目标域名,失败则修改 本服务器的dns配置文件,成功的话,则是php的问题,重启php-fpm 。 如果项目运行在docker中,则重启docker


14.快速查找php配置文件地址,php -i | grep php.ini


15.各种配置尽量放数据库。比如第三方服务器api,参数appid之类的

长期更....


skill


上一篇:正则表达式学习整理

有点意思的编程题(一):下一篇