Skip to main content

PHPのスキャンルール

 

Contrast Scanでは、PHPに対して以下のルールをサポートしています。

深刻度

Contrastルール

エンジンルールID

説明

重大

Insecure Php Configuration

OPT.PHP.InsecurePhpConfiguration

InsecurePhpConfiguration:php.ini/.htaccess記述における安全でない設定の回避

重大

Too Broad CORS Policy

OPT.PHP.TooBroadCORSPolicy

TooBroadCORSPolicy:CORSポリシー(クロスオリジンリソース共有)での広すぎる許可範囲

重大

Code Injection

OPT.PHP.CodeInjection

CodeInjection:動的に評価されるコード内におけるディレクティブの不適切な無害化(EVALインジェクション)

重大

Command Injection

OPT.PHP.CommandInjection

CommandInjection:OSコマンドで使用する特殊要素の不適切な無害化(OSコマンドインジェクション)

重大

Connection String Parameter Pollution

OPT.PHP.ConnectionStringParameterPollution

ConnectionStringParameterPollution::信頼できない入力で汚染された接続文字列

重大

Cross Site Scripting

OPT.PHP.CrossSiteScripting

CrossSiteScripting:Webページ生成中の入力の不適切な無害化(クロスサイトスクリプティング)

重大

Csv Formula Injection

OPT.PHP.CsvFormulaInjection

CsvFormulaInjection:CSV Excelマクロインジェクション

重大

DoS Regexp

OPT.PHP.DoSRegexp

DoSRegexp:悪意のある正規表現によるDos攻撃の防止(正規表現インジェクション)

重大

External Variable Modification

OPT.PHP.ExternalVariableModification

ExternalVariableModification:PHP 外部変数の変更

重大

Http Parameter Pollution

OPT.PHP.HttpParameterPollution

HttpParameterPollution:HTTPパラメータ汚染(HPP)

重大

Http Splitting

OPT.PHP.HttpSplitting

HttpSplitting:HTTPヘッダにおけるCRLFシーケンスの不適切な無害化(HTTPレスポンス分割攻撃)

重大

Ldap Injection

OPT.PHP.LdapInjection

LdapInjection:LDAP検索フィルタにおける無害化されていないユーザ制御入力の回避

重大

Mail Header Manipulation

OPT.PHP.MailHeaderManipulation

MailHeaderManipulation:SMTPヘッダの改ざん

重大

Open Redirect

OPT.PHP.OpenRedirect

OpenRedirect:信頼できないサイトへのURLリダイレクト(オープンリダイレクト)

重大

Resource Injection

OPT.PHP.ResourceInjection

ResourceInjection:リソース識別子の不適切な制御 (リソースインジェクション) 

重大

Mail Command Injection

OPT.PHP.SEC.MailCommandInjection

MailCommandInjection:メールコマンドインジェクション

重大

No SQL Injection

OPT.PHP.SEC.NoSQLInjection

NoSQLInjection:データクエリロジックにおける特殊要素の不適切な無害化(NoSQLインジェクション)

重大

Server Side Request Forgery

OPT.PHP.ServerSideRequestForgery

ServerSideRequestForgery:サーバサイドリクエストフォージェリ(SSRF)

重大

SQL Injection

OPT.PHP.SqlInjection

SqlInjection:SQLコマンドで使用する特殊要素の不適切な無害化(SQLインジェクション)

重大

Xml Entity Injection

OPT.PHP.XmlEntityInjection

XmlEntityInjection:XMLエンティティインジェクション

重大

Avoid Use Default Secret

OPT.PHP.AvoidUseDefaultSecret

AvoidUseDefaultSecret:Symfonyのシークレットのデフォルト値(ThisTokenIsNotSoSecretChangeIt)の使用禁止

重大

Assign Null In Function Call

OPT.PHP.AssignNullInFunctionCall

AssignNullInFunctionCall:関数に戻り値がない場合での関数呼び出しの変数への代入

重大

Avoid Exitor Die

OPT.PHP.AvoidExitorDie

AvoidExitorDie:エラー処理でのexit()やdie()の禁止

重大

Avoid Global Variableswithin Functions

OPT.PHP.AvoidGlobalVariableswithinFunctions

AvoidGlobalVariableswithinFunctions:関数内のグローバル変数の回避

重大

Avoid Loop With Empty Body

OPT.PHP.AvoidLoopWithEmptyBody

AvoidLoopWithEmptyBody:本体が空のループ(while、do/while、for)の回避

重大

Avoid SQL Queries Within Loop

OPT.PHP.AvoidSQLQueriesWithinLoop

AvoidSQLQueriesWithinLoop:ループ内でのSQLクエリ実行の回避

重大

Avoid This In Static Methods

OPT.PHP.AvoidThisInStaticMethods

AvoidThisInStaticMethods:静的メソッドにおける$thisの回避

重大

Avoid Using Echo HTML

OPT.PHP.AvoidUsingEchoHTML

AvoidUsingEchoHTML:HTML構築におけるechoやprintの回避

重大

Dangerous File Upload

OPT.PHP.DangerousFileUpload

DangerousFileUpload:制限のない危険なタイプのファイルのアップロード

重大

Do Not Use Error Suppression

OPT.PHP.DoNotUseErrorSuppression

DoNotUseErrorSuppression:@を使用するエラー制御の回避

重大

Fingers Crossed Logger In Production

OPT.PHP.FingersCrossedLoggerInProduction

FingersCrossedLoggerInProduction:本番環境におけるログ(本番環境でのログ記録は多くのリソースを使用すべきではない)

重大

Function Arguments Uniqueness

OPT.PHP.FunctionArgumentsUniqueness

FunctionArgumentsUniqueness:関数宣言における重複する引数名の回避

重大

Include File Injection

OPT.PHP.IncludeFileInjection

IncludeFileInjection:include/require文のファイル名の不適切な制御

重大

Nested If Statements

OPT.PHP.NestedIfStatements

NestedIfStatements:高レベルのif文のネストの回避

重大

Optional Parameters At End

OPT.PHP.OptionalParametersAtEnd

OptionalParametersAtEnd:オプション引数は最後に宣言(関数またはメソッド宣言のオプション引数は常に最後に宣言すること)

重大

Path Traversal

OPT.PHP.PathTraversal

PathTraversal:I/O操作で使用するパス名(ファイルまたはディレクトリ)の一部として、無害化されていないユーザ制御入力を使用しない

重大

Persistent Database Connections

OPT.PHP.PersistentDatabaseConnections

PersistentDatabaseConnections:持続的データベース接続の使用

重大

POSIX Extended Regular Expressions

OPT.PHP.POSIXExtendedRegularExpressions

POSIXExtendedRegularExpressions:POSIX拡張正規表現関数の禁止

重大

Return In Constructor

OPT.PHP.ReturnInConstructor

ReturnInConstructor:値を返すコンストラクタ

重大

Too Many Parameters In Call

OPT.PHP.TooManyParametersInCall

TooManyParametersInCall:宣言した以上のパラメータによる関数やメソッドの呼び出しの回避

重大

Password In Redirect Rule

OPT.PHP.SEC.PasswordInRedirectRule

PasswordInRedirectRule:パスワード管理 - リダイレクト内のパスワード

重大

Sensitive Data Non Parameter

OPT.PHP.SensitiveDataNonParameter

SensitiveDataNonParameter:機密情報(データベース接続など)のパラメータファイルでの記述の必要性

Cake PHP Configuration

OPT.PHP.CakePHPConfiguration

CakePHPConfiguration:CakePHPフレームワークの脆弱な設定

Cookies Configuration

OPT.PHP.CookiesConfiguration

CookiesConfiguration:脆弱なCookieの設定

Insufficient Session Expiration Rule

OPT.PHP.SEC.InsufficientSessionExpirationRule

InsufficientSessionExpirationRule:セッションの有効期限の間隔が制限を超えていないことの確認

Session Cookie Configuration

OPT.PHP.SessionCookieConfiguration

SessionCookieConfiguration: 脆弱なセッションCookieの設定

Zend Configuration

OPT.PHP.ZendConfiguration

ZendConfiguration:Zend frameworkのセッション管理の設定

Avoid Eval

OPT.PHP.AvoidEval

AvoidEval:eval()の使用禁止

Cross Site Request Forgery

OPT.PHP.CrossSiteRequestForgery

CrossSiteRequestForgery:クロスサイトリクエストフォージェリ(CSRF)

Enabled Twig Auto Escaping

OPT.PHP.EnabledTwigAutoEscaping

EnabledTwigAutoEscaping:Twig自動エスケープの有効化

External Control Of Configuration Setting

OPT.PHP.SEC.ExternalControlOfConfigurationSetting

ExternalControlOfConfigurationSetting:システム設定または構成設定の外部制御

JSON Injection

OPT.PHP.SEC.JSONInjection

JSONInjection:JSONエンティティにおける無害化されていないユーザ制御入力の使用の回避(JSONインジェクション)

Trust Boundary Violation Rule

OPT.PHP.SEC.TrustBoundaryViolationRule

TrustBoundaryViolationRule:信頼境界線違反

Xslt Injection

OPT.PHP.SEC.XsltInjection

XsltInjection:XML インジェクション(別名、ブラインドXPathインジェクション)

Stored Cross Site Scripting

OPT.PHP.StoredCrossSiteScripting

StoredCrossSiteScripting:Webコンテンツ生成時に保存されるデータの不適切な無害化(クロスサイトスクリプティング、XSS)

XPath Injection

OPT.PHP.XPathInjection

XPathInjection:XPath式内のデータの不適切な無害化(XPathインジェクション)

Assign Objects In Instantiation

OPT.PHP.AssignObjectsInInstantiation

AssignObjectsInInstantiation:インスタンス化での変数へのオブジェクト代入

Avoid Business Logic In Twig

OPT.PHP.AvoidBusinessLogicInTwig

AvoidBusinessLogicInTwig:Twig テンプレートでのロジック過多の回避

Too Many Statements In Case

OPT.PHP.TooManyStatementsInCase

TooManyStatementsInCase:switch文の各ケースにおける過多なステートメントの回避

Avoid Auto Reload In Twig

OPT.PHP.AvoidAutoReloadInTwig

AvoidAutoReloadInTwig:Twigのauto_reloadの無効化

Avoid Create From Globals Request

OPT.PHP.AvoidCreateFromGlobalsRequest

AvoidCreateFromGlobalsRequest:Request::createFromGlobalsメソッド使用の回避

Avoid High Number Of Files In Folder

OPT.PHP.AvoidHighNumberOfFilesInFolder

AvoidHighNumberOfFilesInFolder:ファイルが多いフォルダの処理の回避

Avoid Logical Operators

OPT.PHP.AvoidLogicalOperators

AvoidLogicalOperators:論理演算子の使用の回避

Avoid Ref With Multidim Array

OPT.PHP.AvoidRefWithMultidimArray

AvoidRefWithMultidimArray:複雑な多次元配列の置換(あるいはエイリアス)における参照演算子(&)の回避

Avoid Sleep Function

OPT.PHP.AvoidSleepFunction

AvoidSleepFunction:スリープ関数の使用回避

Avoid Strict Variables In Twig

OPT.PHP.AvoidStrictVariablesInTwig

AvoidStrictVariablesInTwig: Twigのstrict_variablesの無効化

Avoid Action Method Too Long

OPT.PHP.AvoidActionMethodTooLong

AvoidActionMethodTooLong:メソッドコントローラの長すぎる「action」の回避

Break Non Empty Switch Clauses

OPT.PHP.BreakNonEmptySwitchClauses

BreakNonEmptySwitchClauses:SwitchCaseの最後の文でのbreak文の使用

Call Time Pass By Reference Forbidden

OPT.PHP.CallTimePassByReferenceForbidden

CallTimePassByReferenceForbidden:関数呼び出しにおけるcall-time pass-by-reference引数の使用禁止

Catching Exception

OPT.PHP.CatchingException

CatchingException:例外をキャッチする基底クラスの回避

Check Parameters Number In Function

OPT.PHP.CheckParametersNumberInFunction

CheckParametersNumberInFunction:関数内のパラメータの過多

Class Includes

OPT.PHP.ClassIncludes

ClassIncludes:クラスファイルの読み込みでのinclude / require / require_once / include_onceの使用不可

Delete Acme Demo Bundle

OPT.PHP.DeleteAcmeDemoBundle

DeleteAcmeDemoBundle:Symfony2にデフォルトで含まれているAcmeDemoBundleの削除

Delete Unused Libraries

OPT.PHP.DeleteUnusedLibraries

DeleteUnusedLibraries:使用されていないライブラリへの参照の削除

Default Arguments On The Right Side

OPT.PHP.DefaultArgumentsOnTheRightSide

DefaultArgumentsOnTheRightSide:デフォルトの引数は、デフォルトでない引数の右側にある必要がある

Default Clause Switch Statements

OPT.PHP.DefaultClauseSwitchStatements

DefaultClauseSwitchStatements:switch文の最後でのdefault句の使用

Efficient Php Ini Configuration

OPT.PHP.EfficientPhpIniConfiguration

EfficientPhpIniConfiguration:効率化のために特定の設定プロパティを指定することが必要

Establish New Path Cache

OPT.PHP.EstablishNewPathCache

EstablishNewPathCache:キャッシュの新しいパスの設定

Fav Icon In Web Directory

OPT.PHP.FavIconInWebDirectory

FavIconInWebDirectory:Webアプリケーションでのfaviconの使用

Few Action Methods In Controller

OPT.PHP.FewActionMethodsInController

FewActionMethodsInController:特定の概念でのコントローラの使用

Get Action Should Not Modify Resources

OPT.PHP.GetActionShouldNotModifyResources

GetActionShouldNotModifyResources:情報の取得にはGETメソッドのみを使用

Include Require Without Parentheses

OPT.PHP.IncludeRequireWithoutParentheses

IncludeRequireWithoutParentheses:includeとそのvariantでの括弧の使用回避

Keywords Case

OPT.PHP.KeywordsCase

KeywordsCase:小文字でのPHPキーワードの記述

Many Cases

OPT.PHP.ManyCases

ManyCases:switch文での過多な選択肢の回避

Max Methods

OPT.PHP.MaxMethods

MaxMethods:メソッドの最大許容数

Missing Authorization

OPT.PHP.MissingAuthorization

MissingAuthorization:リソースへのアクセスやアクションの実行に対する不十分な認証チェック

No Update Loop Vars In For Body

OPT.PHP.NoUpdateLoopVarsInForBody

NoUpdateLoopVarsInForBody:「for」ループ本体における制御変数の更新の禁止

No Use Flush In Loop

OPT.PHP.NoUseFlushInLoop

NoUseFlushInLoop:ループ内でのflush()メソッドの呼び出し禁止

No Use Data Base Functions Specific Provider

OPT.PHP.NoUseDataBaseFunctionsSpecificProvider

NoUseDataBaseFunctionsSpecificProvider:データベースプロバイダーの特定の関数の使用禁止

No Use PHP Response Functions

OPT.PHP.NoUsePHPResponseFunctions

NoUsePHPResponseFunctions:PHPレスポンス関数の使用の回避

No Use PHP Session Functions

OPT.PHP.NoUsePHPSessionFunctions

NoUsePHPSessionFunctions:PHPセッション関数の使用禁止

No Use PHP Super Global

OPT.PHP.NoUsePHPSuperGlobal

NoUsePHPSuperGlobal:PHPのスーパーグローバル変数の代わりのリクエストオブジェクトの使用

Numerically Indexed Arrays

OPT.PHP.NumericallyIndexedArrays

NumericallyIndexedArrays:インデックス配列の数字(負の数はインデックスとして許可されない)

Php Tags

OPT.PHP.PhpTags

PhpTags:PHPの開始タグに短縮型を使用しないこと

Public Method Only Actions

OPT.PHP.PublicMethodOnlyActions

PublicMethodOnlyActions:コントローラーでは「Action」メソッドのみを公開可

Rethrowing Exceptions

OPT.PHP.RethrowingExceptions

RethrowingExceptions:例外の再スロー(スローされる例外の中に、元の例外をラップする必要あり)

Return Value Ignored

OPT.PHP.ReturnValueIgnored

ReturnValueIgnored:無視される関数呼び出しの戻り値

Robots Txt In Web Directory

OPT.PHP.RobotsTxtInWebDirectory

RobotsTxtInWebDirectory:Webアプリケーションでのrobots.txtの使用

Routes Should Reference Existing Actions

OPT.PHP.RoutesShouldReferenceExistingActions

RoutesShouldReferenceExistingActions:存在しないactionを参照するルートの回避

Cookies In Security Decision

OPT.PHP.SEC.CookiesInSecurityDecision

CookiesInSecurityDecision:セキュリティ決定における検証と整合性チェックなしのCookieへの依存

User Controlled SQL Primary Key

OPT.PHP.SEC.UserControlledSQLPrimaryKey

UserControlledSQLPrimaryKey:ユーザ制御の主キーのクエリ使用禁止

Should Not Throw Access Denied Http Exception

OPT.PHP.ShouldNotThrowAccessDeniedHttpException

ShouldNotThrowAccessDeniedHttpException:AccessDeniedHttpExceptionのスローの回避

Smart Substring Matching

OPT.PHP.SmartSubstringMatching

SmartSubstringMatching:効率的な部分文字列マッチング

Too Many Break Or Continue In Loop

OPT.PHP.TooManyBreakOrContinueInLoop

TooManyBreakOrContinueInLoop:各ループにおける複数のbreak文やcontinue文の回避

Throwing Exception

OPT.PHP.ThrowingException

ThrowingException:例外の基底クラスのスローの回避

Unused Function Parameter

OPT.PHP.UnusedFunctionParameter

UnusedFunctionParameter:未使用の関数パラメータの回避

Unused Local Var

OPT.PHP.UnusedLocalVar

VLSU:未使用のローカル変数の回避

Unused Private Field

OPT.PHP.UnusedPrivateField

UnusedPrivateField:未使用のprivateフィールドの回避

Unused Private Method

OPT.PHP.UnusedPrivateMethod

UnusedPrivateMethod:未使用のprivateメソッドの回避

Use Redirect After Posting Data

OPT.PHP.UseRedirectAfterPostingData

UseRedirectAfterPostingData:POST後のリダイレクトの使用の推奨

Avoid Inject Request Service

OPT.PHP.AvoidInjectRequestService

AvoidInjectRequestService:サービスリクエストのインジェクションの回避

Do Not Debug In Twig Templates

OPT.PHP.DoNotDebugInTwigTemplates

DoNotDebugInTwigTemplates:Twigテンプレートでのデバッグタグの回避

Http To Send Data

OPT.PHP.HttpToSendData

HttpToSendData:HTTPSの代わりのHTTPの使用禁止

Information Exposure Through Error Message

OPT.PHP.InformationExposureThroughErrorMessage

InformationExposureThroughErrorMessage:エラー メッセージによる機密情報の露出の回避

Password Management

OPT.PHP.PasswordManagement

PasswordManagement:空またはハードコードされたパスワードの使用、またはコメントでのパスワードの保存

Hardcoded Crypto Key

OPT.PHP.HardcodedCryptoKey

HardcodedCryptoKey:ハードコードされた暗号鍵の使用

Hardcoded Salt

OPT.PHP.HardcodedSalt

HardcodedSalt:ハードコードされたソルトの使用

Insecure Randomness

OPT.PHP.InsecureRandomness

InsecureRandomnes:安全でない標準的な擬似乱数生成器

Missing Encryption Of Sensitive Data

OPT.PHP.MissingEncryptionOfSensitiveData

MissingEncryptionOfSensitiveData:機密データ送信前や保存前のの暗号化

Insufficient Key Size Rule

OPT.PHP.SEC.InsufficientKeySizeRule

InsufficientKeySizeRule:脆弱な暗号方式・鍵長の検出

Weak Cryptographic Hash

OPT.PHP.WeakCryptographicHash

WeakCryptographicHash:脆弱な暗号化ハッシュ

Weak Encryption Algorithm

OPT.PHP.WeakEncryptionAlgorithm

WeakEncryptionAlgorithm:脆弱な共通鍵暗号アルゴリズム

情報

Log Forging

OPT.PHP.LogForging

LogForging:ログの出力の不適切な無害化

情報

Change Default Favicon

OPT.PHP.ChangeDefaultFavicon

ChangeDefaultFavicon:デフォルトのfavicon.icoアイコンの変更

情報

Line Length

OPT.PHP.LineLength

LineLength:行の長さ(行は最大サイズを超えないようにする)

情報

Methods Name Convention

OPT.PHP.MethodsNameConvention

MethodsNameConvention:関数/メソッド名は命名規則の遵守が必要

情報

Php Comments Rule

OPT.PHP.PhpCommentsRule

PhpCommentsRule:コードのコメントはコーディング規約に従うことが必要

情報

Variable Substitution

OPT.PHP.VariableSubstitution

VariableSubstitution:変数の置換での${...}表現の回避

情報

Avoid Using Request

OPT.PHP.AvoidUsingRequest

AvoidUsingRequest:$_REQUESTの使用禁止

Do Not Use Default Session Cookies Name

OPT.PHP.DoNotUseDefaultSessionCookiesName

DoNotUseDefaultSessionCookiesName:デフォルトのセッションCookie名使用の回避

Avoid Complex Methods

OPT.PHP.AvoidComplexMethods

AvoidComplexMethods:長すぎるメソッドの回避

Avoid Functions In Loops

OPT.PHP.AvoidFunctionsInLoops

AvoidFunctionsInLoop:ループの評価や更新部分からの関数の呼び出しの回避

Avoid Many Variables In Twig

OPT.PHP.AvoidManyVariablesInTwig

AvoidManyVariablesInTwig:Twigテンプレートに多すぎる変数を渡さない

Avoid Special Comment

OPT.PHP.AvoidSpecialComment

AvoidSpecialComment:コードの修正箇所を示すためのコメントの使用の回避

Avoid Too Long Twig Templates

OPT.PHP.AvoidTooLongTwigTemplates

AvoidTooLongTwigTemplates:長すぎるTwigテンプレートの回避(長すぎるテンプレートはコードの理解と保守を難しくする)

Avoid Var Name Prefix Is

OPT.PHP.AvoidVarNamePrefixIs

AvoidVarNamePrefixIs:PHP変数名での接頭辞「is」の回避

Class Format PSR-0

OPT.PHP.ClassFormatPSR0

ClassFormatPSR0:PHPクラスの名前と名前空間におけるPSR-0(オートローディング)標準の準拠

Closing Php Tag

OPT.PHP.ClosingPhpTag

ClosingPhpTag:phpコードのみのファイルでの終了タグの省略

Constants Name Convention

OPT.PHP.ConstantsNameConvention

ConstantsNameConvention:定数名は命名規則の遵守が必要

Customize Error Pages

OPT.PHP.CustomizeErrorPages

CustomizeErrorPages:Symfonyのエラーページのカスタマイズ

Declarations Without Side Effects

OPT.PHP.DeclarationsWithoutSideEffects

DeclarationsWithoutSideEffects:グローバルシンボル(関数、クラス)を宣言するPHPファイルでの副作用の回避

Dependency Injection Container

OPT.PHP.DependencyInjectionContainer

DependencyInjectionContainer:DIコンテナの利用(サービス間の依存関係を隠す)

Else In Else If Statement

OPT.PHP.ElseInElseIfStatement

ElseInElseIfStatement:else if文はelse句で終了させること

Empty Boot Method In Bundle

OPT.PHP.EmptyBootMethodInBundle

EmptyBootMethodInBundle:すべてのバンドルのboot()メソッドは空であることが必要

Exception Extension

OPT.PHP.ExceptionExtension

ExceptionExtension:Exceptionクラスから拡張したカスタムクラスの適切な定義

Modifiers Order

OPT.PHP.ModifiersOrder

ModifiersOrder:abstract修飾子、final修飾子、static修飾子の宣言順

Names Suffix Conventions

OPT.PHP.NamesSuffixConventions

NamesSuffixConventions:インターフェイス、トレイト、および例外クラスにおける命名規則の遵守

Not Mix End Of Lines

OPT.PHP.NotMixEndOfLines

NotMixEndOfLines:改行コードの統一(ファイルの改行コードを1つの形式のみに統一することが必要)

No Use Debug Statements

OPT.PHP.NoUseDebugStatements

NoUseDebugStatements:本番環境におけるデバッグ文の使用禁止

Organize Forms In Categories

OPT.PHP.OrganizeFormsInCategories

OrganizeFormsInCategories:フォームディレクトリの適切な構造化

Improper Validation Of Array Index

OPT.PHP.SEC.ImproperValidationOfArrayIndex

ImproperValidationOfArrayIndex:無害化されていない脆弱な入力からの配列インデックス

Specify The Allowed Methods For The Routes

OPT.PHP.SpecifyTheAllowedMethodsForTheRoutes

SpecifyTheAllowedMethodsForTheRoutes:ルートごとの許可されるメソッドの指定

String Concatenation

OPT.PHP.StringConcatenation

StringConcatenation:文字列連結の書式(「.」演算子の前後にスペースを追加し、複数行の連結文では、「.」演算子を「{}」の下に揃うよう各行を調整する)

Text Files End Properly

OPT.PHP.TextFilesEndProperly

TextFilesEndProperly:ファイルは改行文字で終わることが必要

Type Hint Object Arguments

OPT.PHP.TypeHintObjectArguments

TypeHintObjectArguments:各メソッドの引数の型の指定

Use Strict Comparisons

OPT.PHP.UseStrictComparisons

UseStrictComparisons:厳密な比較の使用

Variable As String

OPT.PHP.VariableAsString

VariableAsString:変数のみから作成された文字列の使用

Avoid Contain Config File

OPT.PHP.AvoidContainConfigFile

AvoidContainConfigFile:プロジェクトの本番環境移行前にconfig.phpを削除することが必要

Plaintext Storage In A Cookie Rule

OPT.PHP.SEC.PlaintextStorageInACookieRule

PlaintextStorageInACookieRule:Cookieでの機密情報の平文保存

Cross Site History Manipulation

OPT.PHP.SEC.CrossSiteHistoryManipulation

CrossSiteHistoryManipulation:クロスサイト履歴操作(XSHM)

Format String Injection Rule

OPT.PHP.SEC.FormatStringInjectionRule

FormatStringInjectionRule:無害化されていないユーザ入力をフォーマット文字列から除外

Serialization Injection

OPT.PHP.SerializationInjection

SerializationInjection:信頼できないデータのデシリアライゼーション

Avoid Concat In Echo

OPT.PHP.AvoidConcatInEcho

AvoidConcatInEcho:echo文での連結の回避

Use Switch Instead Of If Else If

OPT.PHP.UseSwitchInsteadOfIfElseIf

UseSwitchInsteadOfIfElseIf:if-elseif-elseチェーンの回避

Avoid Large Classes 

OPT.PHP.AvoidLargeClasses 

AvoidLargeClasses:コード行が多すぎるクラスの回避

Avoid Large Methods

OPT.PHP.AvoidLargeMethods

AvoidLargeMethods:コード行数が多すぎる関数やメソッドの回避

Avoid Magic Numbers

OPT.PHP.AvoidMagicNumbers

AvoidMagicNumbers:メソッド呼び出しでのリテラルの回避(名前付き定数はソースコードの理解と保守を容易にする)

Avoid Pass Entity Manager As Argument

OPT.PHP.AvoidPassEntityManagerAsArgument

AvoidPassEntityManagerAsArgument:引数としてのエンティティマネージャの引き渡し禁止

Avoid Unecessary Replacements In Loops

OPT.PHP.AvoidUnecessaryReplacementsInLoops

AvoidUnecessaryReplacementsInLoop:ループ内での不要な文字列置換の回避

Avoid Unreachable Code

OPT.PHP.AvoidUnreachableCode

AvoidUnreachableCode:実行されることのないコードの実装の回避

Check Field Number In Class

OPT.PHP.CheckFieldNumberInClass

CheckFieldNumberInClass:クラスあたりのフィールド数が多すぎるクラスの回避

Check Public Methods Number In Class

OPT.PHP.CheckPublicMethodsNumberInClass

CheckPublicMethodsNumberInClass:メソッドが多すぎるクラスの回避

Close Opened Database Connections

OPT.PHP.CloseOpenedDatabaseConnections

CloseOpenedDatabaseConnections:非永続的な接続が不要になった場合のクローズ

Counter Functions In Loops

OPT.PHP.CounterFunctionsInLoops

CounterFunctionsInLoop:ループ式におけるカウンタ関数の使用禁止

Exceptions Disable In Production

OPT.PHP.ExceptionsDisableInProduction

ExceptionsDisableInProduction:アプリケーションが本番環境にある時の例外の無効化

Foreach To Loop Through Arrays

OPT.PHP.ForeachToLoopThroughArrays

foreachToLoopThroughArrays:foreachを使用する配列のループ処理

If Variable To Check Initialization

OPT.PHP.IfVariableToCheckInitialization

ifVariableToCheckInitialization:変数の初期化チェックのためのif ($var)の使用禁止

MIME Type Detection

OPT.PHP.MIMETypeDetection

MIMETypeDetection:$_FILES配列に含まれるファイルの「type」属性を使用するMIMEタイプ検出の回避

No Use Deprecated Functions

OPT.PHP.NoUseDeprecatedFunctions

NoUseDeprecatedFunctions:非推奨の関数の使用禁止

No Use Magic Constant __DIR__ and __FILE__

OPT.PHP.NoUseMagicConstant__DIR__and__FILE__

NoUseMagicConstant__DIR__and__FILE__:マジック定数(__FILE__ と __DIR__)の使用禁止

Num Max Class By Namespace 

OPT.PHP.NumMaxClassByNamespace

NumMaxClassByNamespaces:パッケージ/名前空間ごとの過剰なクラス数の回避

Return Value Without Parentheses

OPT.PHP.ReturnValueWithoutParentheses

ReturnValueWithoutParentheses:戻り値の括弧(戻り値を括弧で囲んではいけない)

Execution After Redirect

OPT.PHP.SEC.ExecutionAfterRedirect

ExecutionAfterRedirect:リダイレクト処理後のコードの実行(EAR)

Potential Infinite Loop

OPT.PHP.SEC.PotentialInfiniteLoop

PotentialInfiniteLoop:到達不可能な終了条件を持つルール(無限ループ)

Unchecked Input In Loop Condition

OPT.PHP.SEC.UncheckedInputInLoopCondition

UncheckedInputInLoopCondition:ループ条件における未チェックの入力

Set For Attibutes With Get

OPT.PHP.SetForAttibutesWithGet

SetForAttibutesWithGet:「__get」メソッド定義時の「__set」メソッド定義の必要性

Single Line Comments

OPT.PHP.SingleLineComments

SingleLineComments:シャープ文字で始まるインラインコメントの禁止

String Literals

OPT.PHP.StringLiterals

StringLiterals:文字列リテラルを区切るための単純な引用符の使用(アポストロフィ、エスケープされた文字、または変数置換を含む場合を除く)

Unsafe Function

OPT.PHP.UnsafeFunction

UnsafeFunction:危険な可能性のある関数の使用

Use Latest Symfony Version

OPT.PHP.UseLatestSymfonyVersion

UseLatestSymfonyVersion:最新の安定版Symfonyバージョンの使用

Use Maintained Symfony Version

OPT.PHP.UseMaintainedSymfonyVersion

UseMaintainedSymfonyVersion:メンテナンスされたSymfonyバージョンの使用

Use Relative Path

OPT.PHP.UseRelativePath

UseRelativePath:相対パスを使用したリソースへのアクセス

Variable Initialization

OPT.PHP.VariableInitialization

VariableInitialization:変数の初期化

Privacy Violation

OPT.PHP.PrivacyViolation

PrivacyViolation:個人情報の漏洩

Autocomplete On For Sensitive Fields

OPT.PHP.SEC.AutocompleteOnForSensitiveFields

AutocompleteOnForSensitiveFields:機密性の高いフォームフィールドに対してオートコンプリートが有効

Plaintext Storage Of Password

OPT.PHP.SEC.PlaintextStorageOfPassword

PlaintextStorageOfPassword:パスワードの平文保存