Oracle Formsのスキャンルール
Contrast Scanでは、Oracle Formsに対して以下のルールをサポートしています。
深刻度 | エンジンルールID | Contrastルール | 説明 |
---|---|---|---|
重大 | OPT.ORACLEFORMS.SqlInjection | SQL Injection | SqlInjection:SQLコマンドで使用する特殊要素の不適切な無害化(SQLインジェクション) |
重大 | OPT.ORACLEFORMS.AvoidGoto | Avoid Goto | AvoidGoto:GOTO文の使用禁止 |
重大 | OPT.ORACLEFORMS.DeleteWithoutWhere | Delete Without Where | DSW:WHEREを含まないDELETE クエリの検索 |
重大 | OPT.ORACLEFORMS.DoNotUseCallOpenForm | Do Not Use Call Open Form | DoNotUseCallOpenForm:OracleアプリケーションでのCALL_FORMやOPEN_FORMビルトインの使用禁止 |
重大 | OPT.ORACLEFORMS.GroupByWithFieldsNotInSelect | Group By With Fields Not In Select | TotalGroupAgr:SELECT句に存在しないフィールドをGROUP BY句で使用することの回避 |
重大 | OPT.ORACLEFORMS.GroupByWithoutAggregationFunction | Group By Without Aggregation Function | TotalGroup:集計関数のないSELECT句におけるGROUP BY句の使用禁止 |
重大 | OPT.ORACLEFORMS.QueriesAfterRaise | Queries After Raise | ESPR:RAISE文/RAISE_APPLICATION_ERROR後のクエリ禁止 |
高 | OPT.ORACLEFORMS.UseBindVariables | Use Bind Variables | UVB:BIND変数の使用 |
高 | OPT.ORACLEFORMS.AvoidJoinsOnTooManyTables | Avoid Joins On Too Many Tables | AvoidJoinsOnTooManyTables:多すぎるテーブル間の結合の回避 |
高 | OPT.ORACLEFORMS.AvoidMultipleOrInWhere | Avoid Multiple Or In Where | TooMuchOr:ORの多用(同じフィールドに対して複数のORチェックを行わないこと) |
高 | OPT.ORACLEFORMS.AvoidNegatedWhereClauses | Avoid Negated Where Clauses | AvoidNeg:WHERE句での否定形の回避 |
高 | OPT.ORACLEFORMS.AvoidSelectAsterisk | Avoid Select Asterisk | ICT:クエリを実行するテーブルの列の配置 |
高 | OPT.ORACLEFORMS.AvoidSqlInTriggers | Avoid SQL In Triggers | AvoidSqlInTriggers:特定の種類のトリガーでのSQLコードの回避 |
高 | OPT.ORACLEFORMS.AvoidStartingPercentInLike | Avoid Starting Percent In Like | AvoidPercent:LIKEフィルタと「%」パターンを使用するクエリについての警告 |
高 | OPT.ORACLEFORMS.AvoidTooLargePlsqlCode | Avoid Too Large Plsql Code | NLSM:1000行以上のPLSQLの検索 |
高 | OPT.ORACLEFORMS.AvoidTooLargeRoutines | Avoid Too Large Routines | BigSize:大きすぎる関数やプロシージャの検出 |
高 | OPT.ORACLEFORMS.CheckNoDataFound | Check No Data Found | NDFException:SELECT INTO文使用時におけるNO_DATA_FOUND例外処理のチェック |
高 | OPT.ORACLEFORMS.CloseOpenedCursors | Close Opened Cursors | CC:オープンした全てのカーソルのクローズ |
高 | OPT.ORACLEFORMS.CloseOpenedRefCursors | Close Opened Ref Cursors | CRC:オープンした全てのREF CURSORのクローズ |
高 | OPT.ORACLEFORMS.DoNotCallHost | Do Not Call Host | DoNotCallHost:HOSTビルトインの呼び出し禁止 |
高 | OPT.ORACLEFORMS.DoNotRaiseApplicationError | Do Not Raise Application Error | DoNotRaiseApplicationError:RAISE_APPLICATION_ERRORの使用禁止 |
高 | OPT.ORACLEFORMS.DoNotRepeatSqlCode | Do Not Repeat SQL Code | DoNotRepeatSqlCode:SQLコードのコピー&ペーストの禁止 |
高 | OPT.ORACLEFORMS.DoNotUseGlobalVariables | Do Not Use Global Variables | DoNotUseGlobalVariables:Formsグローバル変数の使用禁止 |
高 | OPT.ORACLEFORMS.DoNotUseSqlControlVarsOutsideException | Do Not Use SQL Control Vars Outside Exception | OracleVar:EXCEPTIONブロック外での制御変数の使用禁止 |
高 | OPT.ORACLEFORMS.ParametersByReferenceInCalls | Parameters By Reference In Calls | PPR:参照パラメータの使用 |
高 | OPT.ORACLEFORMS.RoutineMustControlExceptions | Routine Must Control Exceptions | GER1:例外処理のブロックの必要性(ルーチンごとに少なくとも1つの例外処理が必要) |
高 | OPT.ORACLEFORMS.UpdateWithoutWhere | Update Without Where | USW:WHEREを含まないUPDATEクエリの検索 |
高 | OPT.ORACLEFORMS.UseInInsteadOfOr | Use In Instead Of Or | UILO:OR演算子の代わりのIN句の使用 |
高 | OPT.ORACLEFORMS.UseProperCoordinateSystem | Use Proper Coordinate System | UseProperCoordinateSystem:適切な座標システムの使用 |
高 | OPT.ORACLEFORMS.UseWhileInsteadOfExitWhen | Use While Instead Of Exit When | WL:EXIT WHENの代わりのWHILEの使用 |
高 | OPT.ORACLEFORMS.WhenOthersInExceptionControl | When Others In Exception Control | GER2:例外処理におけるWHEN OTHERS句の必須化 |
情報 | OPT.ORACLEFORMS.AliasInSelectFields | Alias In Select Fields | JOIN2:JOIN句における固有のエイリアスの使用 |
情報 | OPT.ORACLEFORMS.AvoidDatabaseLinks | Avoid Database Links | DBL:@dblinkの検索 |
情報 | OPT.ORACLEFORMS.NamingConvention | Naming Convention | NamingConvention:Oracle Forms/Reportsの要素名における命名規則の遵守 |
情報 | OPT.ORACLEFORMS.UseConsistentJoinSyntax | Use Consistent Join Syntax | DefSintax:SELECT文の適切な構文定義 |
情報 | OPT.ORACLEFORMS.UseTableAlias | Use Table Alias | TableAlias:各テーブルのエイリアスの定義 |
低 | OPT.ORACLEFORMS.AvoidSubqueries | Avoid Subqueries | InSelects:FROM句やWHERE句でのサブクエリを含むSELECT文の回避 |
低 | OPT.ORACLEFORMS.Comment | Comment | Comment:コメントプロパティのないオブジェクトの回避 |
低 | OPT.ORACLEFORMS.ElementNameMustEqualDatabaseName | Element Name Must Equal Database Name | ElementNameMustEqualDatabaseName:要素名とデータベースの一致(ブロックとアイテムは、要素名と同じテーブルと列を持つことが必要) |
中 | OPT.ORACLEFORMS.AvoidForInCursors | Avoid For In Cursors | NDCF:「オンザフライ」でのカーソル宣言の回避 |
中 | OPT.ORACLEFORMS.AvoidNonBlockingInteractionMode | Avoid Non Blocking Interaction Mode | AvoidNonBlockingInteractionMode:フォームにおける非ブロッキングインタラクションモードの回避 |
中 | OPT.ORACLEFORMS.AvoidUnusedLocalVars | Avoid Unused Local Vars | UselessVar:宣言されているが使用されていないローカル変数の検出 |
中 | OPT.ORACLEFORMS.AvoidUsingDataDictionary | Avoid Using Data Dictionary | OracleTables:Oracleデータディクショナリのテーブルおよびビューの使用回避 |
中 | OPT.ORACLEFORMS.CaseWithoutExcludingConditions | Case Without Excluding Conditions | UndefCase:WHEN句で同じ制御変数が使用されているかのチェック |
中 | OPT.ORACLEFORMS.DoNotReferenceFormObjectsInLibraries | Do Not Reference Form Objects In Libraries | DoNotReferenceFormObjectsInLibraries:ライブラリ内のフォームオブジェクトの参照の禁止 |
中 | OPT.ORACLEFORMS.FunctionsInWhere | Functions In Where | EFCW:WHERE句における関数の使用の回避 |
中 | OPT.ORACLEFORMS.UselessParam | Useless Param | UselessParam:宣言されているが使用されていないパラメータの検出 |