2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前 (18) / 17 / 16 / 15 / 14 / 13
開發版本: devel
不支援的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

21.6. 函式安全 #

函式、觸發器和行級安全策略允許使用者將程式碼插入到後端伺服器中,其他使用者可能會無意中執行這些程式碼。因此,這些機制允許使用者相對容易地“特洛伊木馬”他人。最強的保護是嚴格控制誰可以定義物件。在無法實現這一點的地方,請編寫只引用具有受信任所有者的物件的查詢。從 search_path 中刪除任何允許不受信任使用者建立物件的模式。

函式在後端伺服器程序內以資料庫伺服器守護程序的作業系統許可權執行。如果函式使用的程式語言允許未經檢查的記憶體訪問,那麼就可以更改伺服器的內部資料結構。因此,除了其他事項之外,此類函式可以規避任何系統訪問控制。允許此類訪問的函式語言被認為是“不受信任”,並且 PostgreSQL 只允許超級使用者建立用這些語言編寫的函式。

提交更正

如果您在文件中看到任何不正確的內容、與您對特定功能的體驗不符或需要進一步說明的內容,請使用 此表單 報告文件問題。