Skip to content

Commit b6a1320

Browse files
committed
解决 fastjson 等 JSON 库可能泄漏数据库账号相关信息
1 parent df9ca57 commit b6a1320

3 files changed

Lines changed: 17 additions & 25 deletions

File tree

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
<dependency>
4040
<groupId>com.github.Tencent</groupId>
4141
<artifactId>APIJSON</artifactId>
42-
<version>8.0.0.0</version>
42+
<version>8.0.0.0.0</version>
4343
</dependency>
4444

4545
<!-- 数据库 JDBC 驱动 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< -->

src/main/java/apijson/framework/APIJSONSQLConfig.java

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,7 @@ public String getUserIdKey(String database, String schema, String datasource, St
9494

9595

9696

97-
@Override
98-
public String getDBVersion() {
97+
public String gainDBVersion() {
9998
if (isMySQL()) {
10099
return "5.7.22"; //"8.0.11"; //TODO 改成你自己的 MySQL 或 PostgreSQL 数据库版本号 //MYSQL 8 和 7 使用的 JDBC 配置不一样
101100
}
@@ -112,8 +111,7 @@ public String getDBVersion() {
112111
}
113112

114113
@JSONField(serialize = false) // 不在日志打印 账号/密码 等敏感信息,用了 UnitAuto 则一定要加
115-
@Override
116-
public String getDBUri() {
114+
public String gainDBUri() {
117115
if (isMySQL()) {
118116
return "jdbc:mysql://localhost:3306"; //TODO 改成你自己的,TiDB 可以当成 MySQL 使用,默认端口为 4000
119117
}
@@ -130,8 +128,7 @@ public String getDBUri() {
130128
}
131129

132130
@JSONField(serialize = false) // 不在日志打印 账号/密码 等敏感信息,用了 UnitAuto 则一定要加
133-
@Override
134-
public String getDBAccount() {
131+
public String gainDBAccount() {
135132
if (isMySQL()) {
136133
return "root"; //TODO 改成你自己的
137134
}
@@ -148,8 +145,7 @@ public String getDBAccount() {
148145
}
149146

150147
@JSONField(serialize = false) // 不在日志打印 账号/密码 等敏感信息,用了 UnitAuto 则一定要加
151-
@Override
152-
public String getDBPassword() {
148+
public String gainDBPassword() {
153149
if (isMySQL()) {
154150
return "apijson"; //TODO 改成你自己的,TiDB 可以当成 MySQL 使用, 默认密码为空字符串 ""
155151
}
@@ -184,13 +180,13 @@ public boolean isConfigTable() {
184180
return CONFIG_TABLE_LIST.contains(getTable());
185181
}
186182
@Override
187-
public String getSQLDatabase() {
188-
String db = isConfigTable() ? getConfigDatabase() : super.getSQLDatabase();
183+
public String gainSQLDatabase() {
184+
String db = isConfigTable() ? getConfigDatabase() : super.gainSQLDatabase();
189185
return db == null ? DEFAULT_DATABASE : db;
190186
}
191187
@Override
192-
public String getSQLSchema() {
193-
String sch = isConfigTable() ? getConfigSchema() : super.getSQLSchema();
188+
public String gainSQLSchema() {
189+
String sch = isConfigTable() ? getConfigSchema() : super.gainSQLSchema();
194190
return sch == null ? DEFAULT_SCHEMA : sch;
195191
}
196192

src/main/java/apijson/framework/javax/APIJSONSQLConfig.java

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,7 @@ public String getUserIdKey(String database, String schema, String datasource, St
8989

9090

9191

92-
@Override
93-
public String getDBVersion() {
92+
public String gainDBVersion() {
9493
if (isMySQL()) {
9594
return "5.7.22"; //"8.0.11"; //TODO 改成你自己的 MySQL 或 PostgreSQL 数据库版本号 //MYSQL 8 和 7 使用的 JDBC 配置不一样
9695
}
@@ -107,8 +106,7 @@ public String getDBVersion() {
107106
}
108107

109108
@JSONField(serialize = false) // 不在日志打印 账号/密码 等敏感信息,用了 UnitAuto 则一定要加
110-
@Override
111-
public String getDBUri() {
109+
public String gainDBUri() {
112110
if (isMySQL()) {
113111
return "jdbc:mysql://localhost:3306"; //TODO 改成你自己的,TiDB 可以当成 MySQL 使用,默认端口为 4000
114112
}
@@ -125,8 +123,7 @@ public String getDBUri() {
125123
}
126124

127125
@JSONField(serialize = false) // 不在日志打印 账号/密码 等敏感信息,用了 UnitAuto 则一定要加
128-
@Override
129-
public String getDBAccount() {
126+
public String gainDBAccount() {
130127
if (isMySQL()) {
131128
return "root"; //TODO 改成你自己的
132129
}
@@ -143,8 +140,7 @@ public String getDBAccount() {
143140
}
144141

145142
@JSONField(serialize = false) // 不在日志打印 账号/密码 等敏感信息,用了 UnitAuto 则一定要加
146-
@Override
147-
public String getDBPassword() {
143+
public String gainDBPassword() {
148144
if (isMySQL()) {
149145
return "apijson"; //TODO 改成你自己的,TiDB 可以当成 MySQL 使用, 默认密码为空字符串 ""
150146
}
@@ -179,13 +175,13 @@ public boolean isConfigTable() {
179175
return CONFIG_TABLE_LIST.contains(getTable());
180176
}
181177
@Override
182-
public String getSQLDatabase() {
183-
String db = isConfigTable() ? getConfigDatabase() : super.getSQLDatabase();
178+
public String gainSQLDatabase() {
179+
String db = isConfigTable() ? getConfigDatabase() : super.gainSQLDatabase();
184180
return db == null ? DEFAULT_DATABASE : db;
185181
}
186182
@Override
187-
public String getSQLSchema() {
188-
String sch = isConfigTable() ? getConfigSchema() : super.getSQLSchema();
183+
public String gainSQLSchema() {
184+
String sch = isConfigTable() ? getConfigSchema() : super.gainSQLSchema();
189185
return sch == null ? DEFAULT_SCHEMA : sch;
190186
}
191187

0 commit comments

Comments
 (0)