2013年6月30日 星期日

XMSF(Extensible Modeling and Simulation Framework)

XMSF(Extensible Modeling and Simulation Framework)Web-Base技術的開放標準,主要被用來提供跨平台異質性結構系統解決方案,SISO2003 9 月成立了 XMSF Profiles 研究小组( XMSF Profiles SG) XMSF 主要集成 MDABOMSRMLC-BMLMSDL 这五種開放標準提供一个综合的集成驗證環境。


上圖為XMSF集成5種開放標準的環境架構,以下說明個開放標準自XMSF中的應用。
  1. BOMs XMSF 實現基於組件重用系統的基本技術手段之一它負責對系統中的實體對象和交互建立概念模型為系統基於模型的開發和擴展提供可重用的模型片段。
  2. SRML 用於完善BOM 模型中動態變更行為的描述。
  3. MSDL 基於XML 描述系統所有的仿真初始化訊息支持仿真初始化信息的合併重用。
  4. C-BML XMSF 實現仿真系統和C4ISR 互操作目標的重要技術途徑。

XACML( eXtensible Access Control Markup Language,可擴展訪問控制標記語言)

XACML( eXtensible Access Control Markup Language,可擴展訪問控制標記語言)

他是一種Oasis標準使用於授權政策和規範授權決策處理,

以XML檔案格式傳遞資料,並將資訊存取呈現的控制策略,

他用來定義一種通用的保護資源的策略語言,


主要實體(Terminology ):

策略管理點(Policy administration point, PAP)
產生(存放)單一政策(policy)或政策集合(policy set)的系統實體。

策略執行點(Policy enforcement point, PEP)
依照既定的授權決策來執行存取控制的系統實體。 (接收對授權的請求。PEP向PDP發送XACML請求,然後根據PDP的決策行動)。

策略決定點(Policy decision point, PDP)
PDP使用從PAP獲得的策略以及從PIP獲得的附加信息來進行決策的系統實體。

策略資訊點(Policy information point, PIP)
PIP可提供被存取資源的屬性,以及試圖存取該資源的實體(身份證明)。

策略擷取點(Policy retrieval point, PRP)
對於特定的請求(request),找出及取回適當策略的系統實體。


MACML 主要包含了三種結構:

1.Rule
2.Policy Statement
3.Policy set statement

其中介紹一下,

Rule

是策略中最重要的元素單位,一個策略可與多條規則相關聯。每個規則由條件、結果和目標組成。結果會依照條件來回應。

target(目標):這個部份的結果可提供給PDP用來進行授權決策要求的評估。

condition(條件):為一布林運算式。

effect(結果):是符合規則的預期後果。


MACML的目的:

創造一種可移植且標準的方式來描述訪問控制實體及屬性。

並提供一種機制,以簡單的方式來讓拒絕訪問或授權訪問更加精細的控制訪問。


2013年6月19日 星期三

4種執行系統外部程式函式

shell_exec()

原始函式=shell_exec ( string cmd)
$message=shell_exec("ls -al");
echo $message;
此方法執行時可將.sh所執行事項儲存在變數中,如$message儲存了所有顯示資訊,頁面到時候可顯示所有訊息。


exec()

原始函式=exec (string command [, string array [, int return_var]])
exec 執行系統外部命令時不會輸出結果,而是回傳結果的最後一行,如果你想得到結果你可以使用第二個參數,讓其輸出到指定的數組。此數組一個記錄代表輸出的一行,即如果輸出結果有20行,則這個數組就有20條記錄,所以,如果你需要回傳輸出調用不同系統外部命令的結果,最好在輸出每一條系統外部命令結果時清空這個數組,以防混亂。第三個參數用來取得命令執行的狀態碼,通常執行成功都是回傳數值0。


system()

原始函式=system (string command [, int return_var])
system和exec的區別在於system在執行系統外部命令時,直接將結果輸出到瀏覽器,不需要使用echo 或return 來查看結果,如果執行命令成功則回傳true,反之則回傳false。第二個參數與exec第三個參數含意相同。


passthru()

passthru()與system()的差異,在於passthru()直接將結果輸出到瀏覽器,不需要使用echo 或return 來查看結果,不回傳任何數值,且可以輸出二進制,比如影像數據。

執行4種外部指令的時機:
使用 exec() 命令和數據數組處理所有東西。或者對更簡單的命令。
使用 shell_exec(),尤其是不關心結果時。
如果僅需回傳一個 shell 腳本,建議使用 passthru()。
那該使用哪種函式,這完全取決於程式設計師要實現的目的。

php執行外部程式的權限,可參考http://tw2.php.net/manual/en/features.safe-mode.php