WEB各种环境以及注意事项「建议收藏」

WEB各种环境以及注意事项「建议收藏」WEB各种环境以及注意事项

大家好,又见面了,我是你们的朋友全栈君。

环境介绍

在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账号...

(0)


相关推荐

  • java executeupdate_执行完executeUpdate()方法…-体系课

    java executeupdate_执行完executeUpdate()方法…-体系课如题:Servlet代码如下:packagejdbcHomeWork;importjava.io.IOException;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.SQLException;importjavax.servlet.ServletException;importja…

    2022年10月20日
  • Git远程仓库(2)

    Git远程仓库(2)

  • 计算机组成与设计(六)—— 乘法器[通俗易懂]

    计算机组成与设计(六)—— 乘法器[通俗易懂]乘法的运算过程人们日常习惯的乘法是十进制,但计算机实现起来不方便。首先,需要记录9×9乘法表,每次相乘去表中找结果;其次,将竖式相加也不方便。但二进制却十分方便,冯·诺伊曼在《关于END

  • BufferedWriter写入

    BufferedWriter写入带有缓存区的字符输出流BufferedWriter:带有缓存的字符输出流。packagecom;importjava.io.*;/***BufferedWriter:带有缓存的字符输出流。*/publicclasstest{publicstaticvoidmain(String[]args){//带有缓存区的字符输出流BufferedWriterout=null;try{

  • 关于ASIC、CPLD和FPGA介绍

    关于ASIC、CPLD和FPGA介绍关于ASIC、CPLD和FPGA介绍ASIC(ApplicationSpecificIntergratedCircuits)即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。目前用CPLD(复杂可编程逻辑器件)和FPGA(现场可编程逻辑阵列)来进行ASIC设计是最为流行的方式之一,它们的共性是都具有用户现场可编程特性,都支持边界扫描技术,但两者在集成度、速

  • jetson tx1 配置SSD固态硬盘「建议收藏」

    jetson tx1 配置SSD固态硬盘「建议收藏」转载自:http://blog.csdn.net/hit2015spring/article/details/62217289配置外置SSD这里用的是三星EVO250G的SSD,支持SATA接口,ssd插上去开机是不能用的,TX1是没有识别的,需要的格式化为Linux支持的文件系统ext4.一系列配置之后可以把ssd设置为外置的存储,然后再把文件系统拷贝到SSD

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号