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 注入使攻击者能够访问扩展加载功能。