You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何限制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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 20:24:49