Merge pull request #1178 from MrPunyapal/feat/some-functions-to-avoid

Feat: some functions to avoid
This commit is contained in:
Nuno Maduro
2024-06-11 22:03:29 +01:00
committed by GitHub
4 changed files with 46 additions and 8 deletions

View File

@ -23,10 +23,27 @@ final class Base extends AbstractPreset
'dump', 'dump',
'ray', 'ray',
'die', 'die',
'goto', 'goto',
'global',
'var_dump', 'var_dump',
'phpinfo', 'phpinfo',
'echo', 'echo',
'ereg',
'eregi',
'mysql_connect',
'mysql_pconnect',
'mysql_query',
'mysql_select_db',
'mysql_fetch_array',
'mysql_fetch_assoc',
'mysql_fetch_object',
'mysql_fetch_row',
'mysql_num_rows',
'mysql_affected_rows',
'mysql_free_result',
'mysql_insert_id',
'mysql_error',
'mysql_real_escape_string',
'print', 'print',
'print_r', 'print_r',
'var_export', 'var_export',
@ -71,7 +88,7 @@ final class Base extends AbstractPreset
'xdebug_stop_trace', 'xdebug_stop_trace',
'xdebug_time_index', 'xdebug_time_index',
'xdebug_var_dump', 'xdebug_var_dump',
'trap', 'trap',
])->not->toBeUsed(); ])->not->toBeUsed();
} }
} }

View File

@ -23,7 +23,19 @@ final class Security extends AbstractPreset
'tempnam', 'tempnam',
'str_shuffle', 'str_shuffle',
'shuffle', 'shuffle',
'array_rand' 'array_rand',
'eval',
'exec',
'shell_exec',
'system',
'passthru',
'create_function',
'unserialize',
'extract',
'parse_str',
'mb_parse_str',
'dl',
'assert',
])->not->toBeUsed(); ])->not->toBeUsed();
} }
} }

View File

@ -8,8 +8,8 @@ use Pest\Arch\Support\Composer;
use Pest\ArchPresets\AbstractPreset; use Pest\ArchPresets\AbstractPreset;
use Pest\ArchPresets\Base; use Pest\ArchPresets\Base;
use Pest\ArchPresets\Laravel; use Pest\ArchPresets\Laravel;
use Pest\ArchPresets\Strict;
use Pest\ArchPresets\Security; use Pest\ArchPresets\Security;
use Pest\ArchPresets\Strict;
use Pest\PendingCalls\TestCall; use Pest\PendingCalls\TestCall;
use stdClass; use stdClass;

View File

@ -4,14 +4,23 @@ use Pest\Expectation;
arch()->preset()->base()->ignoring([ arch()->preset()->base()->ignoring([
Expectation::class, Expectation::class,
'eval',
'debug_backtrace', 'debug_backtrace',
'var_export',
'xdebug_info',
]);
arch()->preset()->strict()->ignoring([
'usleep', 'usleep',
]); ]);
arch()->preset()->strict(); arch()->preset()->security()->ignoring([
'eval',
arch()->preset()->security(); 'str_shuffle',
'exec',
'unserialize',
'extract',
'assert',
]);
arch('globals') arch('globals')
->expect(['dd', 'dump', 'ray', 'die', 'var_dump', 'sleep']) ->expect(['dd', 'dump', 'ray', 'die', 'var_dump', 'sleep'])