Ta reguła wykrywa użycie łańcuchów i klas specyficznych dla produktu WebLogic, które są używane na potrzeby interfejsu JDBC.
Poniżej podano wykrywane literały łańcuchowe.
- weblogic.jdbc.rmi.Driver
- jdbc:weblogic:rmi
- jdbc:weblogic:jts
- weblogic.server.url
- weblogic.jdbc.datasource
- weblogic.user
- weblogic.credential
Na przykład zostanie wykryty następujący kod:
-
propertiess.put(
"weblogic.jdbc.datasource", "myDataSource")
.newInstance();
-
java.sql.Driver myDriver = (java.sql.Driver) Class.forName(
"weblogic.jdbc.rmi.Driver")
.newInstance();
Wykrywane są instancje poniższych obiektów lub operacje rzutowania.
- weblogic.jdbc.extensions.WLConnection
- weblogic.jdbc.vendor.oracle.OracleConnection
- weblogic.jdbc.vendor.oracle.OracleArray
- weblogic.jdbc.vendor.oracle.OracleStruct
- weblogic.jdbc.vendor.oracle.OracleRef
- weblogic.jdbc.vendor.oracle.OracleThinBlob
- weblogic.jdbc.vendor.oracle.OracleThinClob
Poniższy kod przedstawia przykłady wykrywania użycia obiektu WLConnection:
-
Object instance (Qualified Type):
weblogic.jdbc.extensions.WLConnection
myWLConnection
-
Object instance (Simple Type):
Połączenie WL
myWLConnection2
-
Object Cast (Qualified Type): java.sql.Connection vendorConn = ((
weblogic.jdbc.extensions.WLConnection
) myConnection).getVendorConnection();
-
Object cast (Simple Type) java.sql.Connection vendorConn = ((
Połączenie WL
) myConnection).getVendorConnection();
Przypadki użycia typu prostego (Simple Type) są wykrywane, gdy występuje jedna z dwóch instrukcji import:
- import weblogic.jdbc.extensions.WLConnection;
- import weblogic.jdbc.extensions.*;