mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2026-03-08 08:19:35 +00:00
87 lines
1.7 KiB
Text
87 lines
1.7 KiB
Text
|
|
# Manually configure ekino/phpstan-banned-code to detect usage of echo, eval, die/exit, print, shell execution and a set of functions that should not be used in production code.
|
||
|
|
|
||
|
|
parametersSchema:
|
||
|
|
banned_code: structure([
|
||
|
|
nodes: listOf(structure([
|
||
|
|
type: string()
|
||
|
|
functions: schema(listOf(string()), nullable())
|
||
|
|
]))
|
||
|
|
use_from_tests: bool()
|
||
|
|
non_ignorable: bool()
|
||
|
|
])
|
||
|
|
|
||
|
|
parameters:
|
||
|
|
banned_code:
|
||
|
|
nodes:
|
||
|
|
# enable detection of echo
|
||
|
|
-
|
||
|
|
type: Stmt_Echo
|
||
|
|
functions: null
|
||
|
|
|
||
|
|
# enable detection of eval
|
||
|
|
-
|
||
|
|
type: Expr_Eval
|
||
|
|
functions: null
|
||
|
|
|
||
|
|
# enable detection of die/exit
|
||
|
|
-
|
||
|
|
type: Expr_Exit
|
||
|
|
functions: null
|
||
|
|
|
||
|
|
# enable detection of a set of functions
|
||
|
|
-
|
||
|
|
type: Expr_FuncCall
|
||
|
|
functions:
|
||
|
|
- dd
|
||
|
|
- debug_backtrace
|
||
|
|
- dump
|
||
|
|
- exec
|
||
|
|
- passthru
|
||
|
|
- phpinfo
|
||
|
|
- print_r
|
||
|
|
- proc_open
|
||
|
|
- shell_exec
|
||
|
|
- system
|
||
|
|
- var_dump
|
||
|
|
|
||
|
|
# enable detection of print statements
|
||
|
|
-
|
||
|
|
type: Expr_Print
|
||
|
|
functions: null
|
||
|
|
|
||
|
|
# enable detection of shell execution by backticks
|
||
|
|
-
|
||
|
|
type: Expr_ShellExec
|
||
|
|
functions: null
|
||
|
|
|
||
|
|
# enable detection of empty()
|
||
|
|
#-
|
||
|
|
# type: Expr_Empty
|
||
|
|
# functions: null
|
||
|
|
|
||
|
|
# enable detection of `use Tests\Foo\Bar` in a non-test file
|
||
|
|
use_from_tests: true
|
||
|
|
|
||
|
|
# when true, errors cannot be excluded
|
||
|
|
non_ignorable: false
|
||
|
|
|
||
|
|
services:
|
||
|
|
-
|
||
|
|
class: Ekino\PHPStanBannedCode\Rules\BannedNodesRule
|
||
|
|
tags:
|
||
|
|
- phpstan.rules.rule
|
||
|
|
arguments:
|
||
|
|
- '%banned_code.nodes%'
|
||
|
|
|
||
|
|
-
|
||
|
|
class: Ekino\PHPStanBannedCode\Rules\BannedUseTestRule
|
||
|
|
tags:
|
||
|
|
- phpstan.rules.rule
|
||
|
|
arguments:
|
||
|
|
- '%banned_code.use_from_tests%'
|
||
|
|
|
||
|
|
-
|
||
|
|
class: Ekino\PHPStanBannedCode\Rules\BannedNodesErrorBuilder
|
||
|
|
arguments:
|
||
|
|
- '%banned_code.non_ignorable%'
|