OCX網路驗證修改

2021-09-30 11:07:56 字數 2826 閱讀 1173

由於網頁安全限制問題,在網頁在執行在客戶端是沒有一些計算機的控制許可權,如訪問硬體資訊、訪問usb裝置。我們為得到這樣控制我需要給網頁載入乙個元件在客戶瀏覽器中進行執行。但是我們做了乙個ocx讓他執行,但是瀏覽器會提示這個ocx不完全,會讓使用者對於載入這個ocx有疑慮。即使你進行數字簽名也是這樣。

這時我們需要讓在ocx註冊時加入安全指令碼申明。**如下。

**件宣告

#include ..class cpmzbrockeyinitctrl : public colecontrol

//imp safe

declare_inte***ce_map()

begin_inte***ce_part(objsafe, iobjectsafety)

stdmethod_(hresult, getinte***cesafetyoptions) (

/* [in] */ refiid riid,

/* [out] */ dword __rpc_far *pdwsupportedoptions,

/* [out] */ dword __rpc_far *pdwenabledoptions

);stdmethod_(hresult, setinte***cesafetyoptions) (

/* [in] */ refiid riid,

/* [in] */ dword dwoptionsetmask,

/* [in] */ dword dwenabledoptions

);end_inte***ce_part(objsafe);

...cssrockeynetctrlctrl.cpp

/// iobjectsafety member functions

// delegate addref, release, queryinte***ce

begin_inte***ce_map( cssrockeynetctrlctrl, colecontrol )

inte***ce_part(cssrockeynetctrlctrl, iid_iobjectsafety, objsafe)

//inte***ce_part(cssrockeynetctrlctrl, iid_ioleinplaceactiveobject, oleinplaceactiveobject)

end_inte***ce_map()

ulong far export cssrockeynetctrlctrl::xobjsafe::addref()

ulong far export cssrockeynetctrlctrl::xobjsafe::release()

hresult far export cssrockeynetctrlctrl::xobjsafe::queryinte***ce( refiid iid, void far* far* ppvobj)

stdmethodimp cssrockeynetctrlctrl::xobjsafe::getinte***cesafetyoptions(

/* [in] */ refiid riid,

/* [out] */ dword __rpc_far *pdwsupportedoptions,

/* [out] */ dword __rpc_far *pdwenabledoptions

) *pdwsupportedoptions = inte***cesafe_for_untrusted_caller | inte***cesafe_for_untrusted_data;

*pdwenabledoptions = 0;

if (null == pthis->getinte***ce(&riid))

// what inte***ce is being checked out anyhow?

olechar szguid[39];

int i = stringfromguid2(riid, szguid, 39);

if (riid == iid_idispatch)

else if (riid == iid_ipersistpropertybag

|| riid == iid_ipersiststreaminit

|| riid == iid_ipersiststorage

|| riid == iid_ipersistmemory)

else

} stdmethodimp cssrockeynetctrlctrl::xobjsafe::setinte***cesafetyoptions( /* [in] */ refiid riid,

/* [in] */ dword dwoptionsetmask,

/* [in] */ dword dwenabledoptions)

// do we support the specified inte***ce?

if (null == pthis->getinte***ce(&riid))

if (riid == iid_idispatch)

else

} else if (riid == iid_ipersistpropertybag

|| riid == iid_ipersiststreaminit

|| riid == iid_ipersiststorage

|| riid == iid_ipersistmemory)

else

} else

}

這樣windows就會認為你這個ocx是安全的。

C 密碼修改及驗證

最近在做乙個 專案,自己也屬於初學階段,密碼修改功能可以實現,但是應該存在有些繁瑣的地方,吳國有問題望大家可以指出,修改學習。1.view介面 原密碼 新密碼 確認密碼 確定修改 2.ajax的兩個方法 判斷原密碼是否真確 public actionresult pdpassword string ...

修改帳號密碼驗證

通過資料庫查詢查詢出對應資料id 通過a標籤的get方法傳值到修改頁面 修改頁面通過get接收到id 連線資料庫查詢對應資料 id唯一所以輸出一維陣列 然後獲取修改後的資料 獲取後進行判斷 是否修改使用者名稱 如果未修改使用者名稱 直接執行修改密碼操作 其中修改成功 跳轉回使用者介面 修改失敗給個提...

CentOS 網路設定修改

一 centos 修改ip位址 修改對應網絡卡的ip位址的配置檔案 vi etc sysconfig network scripts ifcfg eth0 修改以下內容 device eth0 描述網絡卡對應的裝置別名,例如ifcfg eth0的檔案中它為eth0 bootproto static ...