大家好,又见面了,我是你们的朋友全栈君。
环境介绍
在java web项目开发中,经常会编写一些sql语句,如创建表,修改表字段,历史数据迁移,编写触发器,存储过程的操作,这些操作一般都是会使用直接编写sql.在开发过程中,一般web环境会分成本地环境,开发环境,测试环境,演练环境与生产环境.这里我先就每个环境说明一下:
- 本地环境:指的就是自己开发的机器所搭建出来的环境,这个环境对每个开发者来说都是唯一的,所以这个环境一般是编写代码,调试代码用.也就是说,有几个开发人员,就有几个开发环境.但数据库却只有一个,所有开发人员共同使用的,在这个环境下,开发人员拥有执行,查询sql的权限.-
- 开发环境,一般只有一个.是所有开发人员共同使用的一个环境.这个服务器的性能一般比本地使用的机器会好一点,访问网站的速度也会比本地快很多.开发环境使用的数据和本地环境的数据一般是同一个.所有,开发人员也拥有执行鱼查询sql的权限.
- 测试环境,这个是提供给测试人员测试性能,功能,界面等等的环境,这个环境的服务的配置跟生产环境很相近,在这个环境中,开发人员只有查询sql的权限,执行权限只有测试经理有!所有开发人所编写的sql,都会转交给测试经理执行.
- 演练环境,这个环境是在整个项目的一个版本,进行一个访上线操作演练的一个环境.相当对整个版本所有的事情进行一个总的练兵,也可以说是彩排把!在这个环境下,开发人员一般连查询sql的权限都没有,查询跟执行sql的权限,也只有项目经理或者部署环境的人才有这个权限了.
- 生产环境:这个就是外网所访问到的环境了,前期开发人员所做的所有工作都是为这个环境做补丁,或者升级.在这个环境上所有的失误都是严重问题.甚至为致命问题,所有数据的操作不允许出现任何一丁点失误,或者面临的将是客户的投诉.这个环境下,一般整个开发团队都没有执行sql的能力,项目经理也只拥有查询sql 的能力,只有这个网站的管理人员,才拥有执行权限.
注意事项
1.对所有提交数据的过滤判断,防止跨站攻击等。
2.防范SQL语句注入攻击,对地址栏参数进行过滤。
3.编写代码不严谨导致的bug。
4.用验证码等验证机制防止暴力破解和大量垃圾信息提交。
5.不把网站错误信息显示在前台。
6.所有页面做好权限授权验证。
7.目录文件访问控制。
8.机密数据用sha1或其它方法加密。
9.合理分配数据库权限。
10.管理员意识培训,防止弱密码或被社会工程学获得权限。
11.接收到的客户端参数一定要在服务器端校验和过滤(包括长度、格式、非法字符等)
12.敏感数据传输务必加密、签名
13.紧密关联的多个数据库操作一定要加事务管理,必要时回滚
14.异常一定要统一打印详细日志,不要随意丢弃
15.业务逻辑千万不要写在SQL中,要知道大型应用性能瓶颈往往都在数据库端
16.代码必要时候一定要写详细的注释
17.反馈给客户端的信息提示务必准确有效(所有异常提示都是“处理出错”表示你还没入门)
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/106596.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...