如何限制laravel-ask-database包可访问的数据库表?
Laravel-ask-database 限制可访问数据库表的方法
当然可以限制该包可访问的数据库表,核心通过配置文件的白名单机制实现,步骤如下:
首先发布包的配置文件,执行以下Artisan命令:
php artisan vendor:publish --provider="BeyondCode\AskDatabase\AskDatabaseServiceProvider"执行后会在项目
config目录下生成ask-database.php配置文件。打开生成的配置文件,找到
allowed_tables配置项,将你允许该包访问的表名填入数组。比如只开放users和posts表:'allowed_tables' => ['users', 'posts'],若需排除特定表而非指定允许列表,也可使用
ignored_tables配置项填入需排除的表名,但优先使用白名单(allowed_tables)更安全,能避免误开放敏感表。配置完成后,laravel-ask-database生成自然查询时,只会访问你指定的表,未在白名单内的表会被自动忽略,有效防止敏感数据被意外访问。
内容的提问来源于stack exchange,提问作者T17
相关产品推荐
相关产品推荐

