SQLite C 接口

启用或禁用扩展加载

int sqlite3_enable_load_extension(sqlite3 *db, int onoff);

为了不在未准备好处理扩展加载的旧应用程序中打开安全漏洞,并且作为在评估用户输入的 SQL 时禁用 扩展加载的一种方法,提供了以下 API 来打开和关闭sqlite3_load_extension()机制。

扩展加载默认关闭。使用 onoff==1 调用 sqlite3_enable_load_extension() 例程以打开扩展加载并使用 onoff==0 调用它以再次关闭它。

此接口启用或禁用 C-API sqlite3_load_extension()和 SQL 函数load_extension()使用sqlite3_db_config (db, SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION ,..) 仅启用或禁用 C-API。

安全警告:建议使用SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION方法而非此接口启用扩展加载,因此load_extension() SQL 函数保持禁用状态。这将防止 SQL 注入使攻击者能够访问扩展加载功能。

另请参阅 对象常量函数的列表。