?
? ????? PHP ??? ???? ??? ?? ??
函數(shù)和觸發(fā)器允許用戶向后端服務(wù)器插入代碼,這樣其它用戶可以在無意識(shí) 的情況下執(zhí)行這些代碼。因此,兩種機(jī)制都可以讓用戶相當(dāng)隱蔽地給別人設(shè)置 "木馬",唯一的有效防護(hù)就是嚴(yán)格控制誰可以定義函數(shù)。
后端服務(wù)器里面運(yùn)行的函數(shù)都是以數(shù)據(jù)庫服務(wù)器守護(hù)進(jìn)程的操作系統(tǒng)權(quán)限運(yùn)行的。 如果所使用的編程語言允許無檢查的內(nèi)存訪問,那么修改服務(wù)器的內(nèi)部數(shù)據(jù)結(jié)構(gòu) 也是可能的。因此,除了其它問題外,這樣的函數(shù)可以繞過任何系統(tǒng)訪問控制。 允許這樣訪問的函數(shù)語言都被認(rèn)為是"不可信的", PostgreSQL只允許超級(jí)用戶 使用這樣的語言書寫函數(shù)。