闲来无事打开编译后的class文件看看,赫然发现数据库的连接字符串、用户名和密码已文本的方式呈现着,连反编译工具都不需要。然后赶紧上网搜索这方面的资料,找到一篇名为《关于JSP源码泄漏问题的总结分析》,里面提到一段:“更大的安全问题是,有的软件开发人员把数据库的用户名密码都写在了java代码中,现在一反编译谁都能看到数据库的重要信息。通过数据库的远程连接功能,可以轻松的进入到数据库中,所有信息将全部被别人掌握。”那么请问各位同好,数据库名和密码可以不写入源代码吗?那么通过什么方式连接数据库呢?
调试欢乐多
2、关于密码问题,一般都是采取密码加密,不知道加密方法,就很难知道密码了。
1.当应该发布的时候,所有class文件是执行在服务器端,你所说的反编译class是不是有些问题,你是否要先破译服务器?才能得到class文件?不要忘记了,你自己在家做实验的时候,自己又充当服务器,又充当浏览者。。
1. 连接数据库信息通过配置文件,现在流行的框架都是这种方法;
2. 确保数据库分配了正确的权限,特别是访问源权限,开启OS防火墙;如仅充许localhost访问或指定IP访问,同时设置OS系统的数据库端口如mysql3306防火墙规则;
如果这台服务器是安全的,则其他人无法直接访问你的数据库。如果你是担心JAVA源代码安全,其实根本不用考虑
1. 担心谁看呢?
2. JAVA代码的优秀的项目一堆一堆的,看那些比较有意义;