小巧、快速、可靠。
擇三。

SQLite C 介面

啟用或停用擴充載入

int sqlite3_enable_load_extension(sqlite3 *db, int onoff);

為了避免在尚未準備好處理擴充載入的舊版應用程式中開啟安全漏洞,以及為了在評估使用者輸入的 SQL 時停用擴充載入,提供了以下 API 來開啟或關閉sqlite3_load_extension()機制。

預設情況下,擴充載入是關閉的。呼叫 sqlite3_enable_load_extension() 函式,並將 onoff 設為 1 以開啟擴充載入,並將其設為 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 注入攻擊,使攻擊者無法取得擴充載入功能。

另請參閱物件常數函式列表。