总结做一个PHP项目需要注意哪些问题
2017-03-13 17:17
1121 查看
第一,指定是编码规范了,统一的编码规范可以减少注释,也能增加Code review的速度。
中文版PSR规范:https://psr.phphub.org/
英文版PSR规范:http://www.php-fig.org/psr/
第二,数据验证,不光是前台数据做验证,后端也要验证,首先前后端的验证规则应该一致同步,因为攻击者很可能不会从你的页面来攻击而是通过CURL等手段来反复提交错误数据,所以后端的验证一定要有而且不能有缩水,一是防止破坏数据库(丢失数据、产生错误数据等),二是防止把Error Message和trace返回给用户,以及那些等着拿你的报错信息分析你的文件结构的人。
第三,配置,首先是Apache配置,dev、production、testing三种环境都要配置好,大多数框架里会有关于调试模式的开关,线上项目一定要关闭这个开关,不要把框架的任何信息暴露给用户。
第四,尽量不要使用 php的DOM类,DOM本身是一个复杂的,不好处理的东西,会衍生很多问题。
第五,前端在呈现后台传过来的数据的处理。所有用户产生的数据要做escape,即使存入数据库的时候是没有问题的,很有可能再从数据库里拿出来的时候就出现问题了,但是程序本身产生的数据就不用做escape了比如随机字符串、时间等等,常用的escape就是htmlspecialchar,防止二次XSS攻击。
什么是XSS,什么是CSRF,如何防止SQL注入……
关于composer:遇到各种类型的composer报错,先更新一下也许就会好了:
中文版PSR规范:https://psr.phphub.org/
英文版PSR规范:http://www.php-fig.org/psr/
第二,数据验证,不光是前台数据做验证,后端也要验证,首先前后端的验证规则应该一致同步,因为攻击者很可能不会从你的页面来攻击而是通过CURL等手段来反复提交错误数据,所以后端的验证一定要有而且不能有缩水,一是防止破坏数据库(丢失数据、产生错误数据等),二是防止把Error Message和trace返回给用户,以及那些等着拿你的报错信息分析你的文件结构的人。
第三,配置,首先是Apache配置,dev、production、testing三种环境都要配置好,大多数框架里会有关于调试模式的开关,线上项目一定要关闭这个开关,不要把框架的任何信息暴露给用户。
第四,尽量不要使用 php的DOM类,DOM本身是一个复杂的,不好处理的东西,会衍生很多问题。
第五,前端在呈现后台传过来的数据的处理。所有用户产生的数据要做escape,即使存入数据库的时候是没有问题的,很有可能再从数据库里拿出来的时候就出现问题了,但是程序本身产生的数据就不用做escape了比如随机字符串、时间等等,常用的escape就是htmlspecialchar,防止二次XSS攻击。
什么是XSS,什么是CSRF,如何防止SQL注入……
关于composer:遇到各种类型的composer报错,先更新一下也许就会好了:
sudo composer self-update
相关文章推荐
- 总结做一个Hibernate 或Spring或Struts项目需要哪些基本的包
- PHP的foreach中使用引用时需要注意的一个问题和解决方法
- PHP的一个需要注意的POST小问题
- 进行一个robotium的测试项目需要注意的问题
- php中使用$_REQUEST需要注意的一个问题
- C#键盘输入方法(Input.GetKey()和Input.GetKeyUp())需要注意的一个问题(一个U3D初学者的总结)
- php中使用$_REQUEST需要注意的一个问题
- php中使用$_REQUEST需要注意的一个问题
- 安装 php-5.4.9.tar.gz 需要注意的冲突问题总结
- 一个成功的BI项目实施需要注意哪些?
- 一个成功的BI项目实施需要注意哪些?
- php中使用$_REQUEST需要注意的一个问题
- PHP的foreach中使用引用时需要注意的一个问题和解决方法
- 一个成功的BI项目实施需要注意哪些?
- 项目问题总结二、hibernate和多线程同时使用需要注意
- JavaScript Tip/Trick: 动态创建Table时,在IE中需要注意的一个问题
- sql server数据库转换为access中需要注意的严重问题--access视图的一个死机‘特色’
- DataGridView 实际项目当中需要注意的问题
- [★] DataGridView 实际项目当中需要注意的问题
- JavaScript Tip/Trick: 动态创建Table时,在IE中需要注意的一个问题