Skip to main content

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:宣言されているが使用されていないパラメータの検出