Arch manual pages

loadTk(3tk) Tk Built-In Commands loadTk(3tk)

loadTk - 把 Tk 裝載到一個安全解釋器中。

::safe::loadTk slave ?-use windowId? ?-display displayName?

Safe Tk 基於 Safe Tcl 之上,它提供一種機制,允許對自動裝載和安全解釋器的包的受限制和有中介的訪問。Safe Tk 增加爲安全 Tk 操作配置解釋器和把 Tk 裝載到安全解釋器的功能。

::safe::loadTk 命令在指明的解釋器中初始化需要的數據結構並把 Tk 裝載到其中。這個命令返回這個安全解釋器的名字。如果指定了 -use,使用由指定的系統決定的標識符 windowId 所標識的窗口來包含這個解釋器的 ``.'' 窗口;它可以是任何有效的 id,最終引用屬於另一個應用的一個窗口。出於方便,如果你想要使用的窗口是應用的一個 Tk 窗口,則你可以使用這個窗口的名字(比如: .x.y)來替代它的窗口 Id ([winfo id .x.y])。在未指定 -use 的時候,爲這個安全解釋器的 ``.'' 窗口建立一個新的頂層窗口。在 X11 上如果你想讓嵌入的窗口使用其他的顯示器而不是缺省的那個,可以用 -display 指定它。實現的細節請參見下面的安全要點 (SECURITY ISSUES) 章節。

請閱讀 Tcl 的 safe 手冊頁來獲悉對 Safe Tcl 做的基本安全考慮。

::safe::loadTk 把從解釋器接受的 tk_library 的值增加到安全解釋器的虛擬路徑上,這樣自動裝載就能在安全解釋器中工作了。

就不信任從解釋器對啓動的陳述而論,Tk 初始化現在是安全的。::safe::loadTk 註冊從解釋器的名字,這樣在調用 Tk 初始化(Tk_SafeInit)和依次調用主解釋器的 ::safe::InitTk 的時候,它將返回想要的 argv 等價物(-use windowId,正確的 -display 等等...)。

在未使用 -use 的時候,對新建立的頂層窗口進行特殊裝飾,這樣用戶總能意識到呈現的用戶界面來自潛在不安全的代碼並可以輕易的刪除相應的解釋器。

在 X11 上,有衝突的 -use-display 將生成一個致命的 X 錯誤。

safe(n), interp(n), library(n), load(n), package(n), source(n), unknown(n)

alias, auto-loading, auto_mkindex, load, master interpreter, safe interpreter, slave interpreter, source

寒蟬退士

2002/05/15

http://cmpp.linuxforum.net

本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
8.0 Tk