| 編程(Programming)是編定程序的中文簡稱,就是讓計算機代碼解決某個問題,對某個計算體系規(guī)定一定的運算方式,使計算體系按照該計算方式運行,并最終得到相應(yīng)結(jié)果的過程。為了使計算機能夠理解(understand)人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據(jù)人的指令一步一步去工作,完成某種特定的任務(wù)。這種人和計算體系之間交流的過程就是編程。 【實例名稱】 JS代碼實現(xiàn)指定時間關(guān)閉頁面 【實例描述】 在大型門戶網(wǎng)站中,初次打開頁面時常常會同時打開一個廣告頁,有些網(wǎng)站為廣告頁設(shè)置了自動關(guān)閉功能,即使用戶不關(guān)閉廣告頁.它也會在指定時間內(nèi)自動關(guān)閉。本例學(xué)習(xí)如何自動關(guān)閉頁面。 【實例代碼】 <html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>無標(biāo)題頁-本站(www.xue51.com)</title>
<script language="javascript">
function closepage()
{
window.close(); //關(guān)閉窗口的方法
}
setTimeout("closepage()",1000);
</script>
</head>
<body>
<p>
調(diào)試其他進程的能力賦予您極廣泛的權(quán)力,
這是無法通過其他途經(jīng)獲得的,在進行遠(yuǎn)程調(diào)試時更是如此。
惡意的調(diào)試器可能對正在調(diào)試的計算機造成大范圍的損害。
因此,對可能進行調(diào)試的人要有所限制。有關(guān)更多信息,請參見<a
>遠(yuǎn)程調(diào)試權(quán)限</a>。</p>
<p>
但是,許多開發(fā)人員沒有意識到安全威脅也可以從相反的方向產(chǎn)生
。調(diào)試對象進程中的惡意代碼可能危害調(diào)試計算機的安全:
有許多必須防范的不道德的安全利用。</p>
<h1 >
安全性最佳做法</h1>
<div>
<p>
正在調(diào)試的代碼與調(diào)試器之間有一種隱式信任關(guān)系。
如果想調(diào)試代碼,您還應(yīng)該樂于運行它。您起碼必須能夠信任要調(diào)試的代碼。
如您無法信任它,就不應(yīng)對它進行調(diào)試,或者應(yīng)在可以承擔(dān)風(fēng)險
且處于獨立環(huán)境的計算機上對其進行調(diào)試。</p>
<p>
為了縮小潛在的攻擊面,應(yīng)在生產(chǎn)計算機上禁用調(diào)試。
出于同樣的原因,永遠(yuǎn)不應(yīng)無限制地啟用調(diào)試。
</p>
<div>
<p>
下面是一些適用于所有托管調(diào)試的常規(guī)建議。</p>
<li>
<p>
附加到非信任用戶的進程時要小心:當(dāng)這樣做時,
您假定它是可以信賴的。當(dāng)您試圖附加到非信任用戶的進程時,
將會出現(xiàn)一個安全警告對話框確認(rèn),詢問您是否要附加到該進程。
“信任用戶”包括您以及在安裝了
.NET Framework 的計算機上通常定義的一組標(biāo)準(zhǔn)用戶,
如“aspnet”、“l(fā)ocalsystem”、“networkservice”和
“l(fā)ocalservice”。有關(guān)更多信息,請參見<?xml
namespace="" ns=http://msdn.microsoft.com/mshelp
prefix="MSHelp" ?></p>
</li>
<li>
<p>
從 Internet 下載項目并將其加載到 Visual Studio
時要小心。即使沒有進行調(diào)試這樣做也很冒險。這樣做時,
您假定該項目和它包含的代碼是可以信賴的。</p>
</li>
<p>
有關(guān)更多信息,請參見<a href="c84.htm">調(diào)試托管代碼</a>。</p>
</div>
<h3 >
遠(yuǎn)程調(diào)試安全</h3>
<div >
<p>
本地調(diào)試通常比遠(yuǎn)程調(diào)試更安全。遠(yuǎn)程調(diào)試增加了可查看的總表面積。</p>
<p>
Visual Studio 遠(yuǎn)程調(diào)試監(jiān)視器 (msvsmon.exe) 用于遠(yuǎn)程調(diào)試,
有若干對其進行配置的安全建議。由于無身份驗證模式不安全,
因此配置身份驗證模式的首選方式是
Windows 身份驗證。使用 Windows 身份驗證模式時,
請注意,授予非信任用戶連接到 msvsmon 的權(quán)限是危險的,將由對話框警告指出。
</p>
<p>
不要在遠(yuǎn)程計算機上調(diào)試未知進程:有潛在的利用,
可能會影響正在運行調(diào)試器的計算機,或危害
msvsmon.exe(Visual Studio 遠(yuǎn)程調(diào)試監(jiān)視器)。
如果一定要調(diào)試未知進程,請嘗試本地調(diào)試,
并使用防火墻將任何潛在的威脅限制在本地。</p>
<p>
有關(guān)更多信息,請參見<a href="97.htm">安裝遠(yuǎn)程調(diào)試</a>。</p>
<ul>
<li>
<p>
不要在已受威脅的 Web 服務(wù)器上啟用調(diào)試。
</p>
</li>
<li>
<p>
在調(diào)試前,請確保您知道該 Web 服務(wù)器是安全的。
如果您不能確定它是安全的,請不要調(diào)試它。
</p>
</li>
<li>
<p>
如果您正在調(diào)試對 Internet 公開的 Web 服務(wù),請?zhí)貏e小心。</p>
</li>
</ul>
<h3 >
外部組件</h3>
<div >
<p>
請注意與您程序交互的外部組件的信任狀態(tài),
尤其是如果您沒有編寫此代碼。還要注意
Visual Studio 或調(diào)試器可能使用的組件。</p>
</div>
<h3 >
符號和源代碼</h3>
<div >
<p>
兩個需要考慮安全的 Visual Studio 工具如下:</p>
</div>
<ul>
<li>
<p>
不要在已受威脅的 Web 服務(wù)器上啟用調(diào)試。
</p>
</li>
<li>
<p>
在調(diào)試前,請確保您知道該 Web 服務(wù)器是安全的。
如果您不能確定它是安全的,請不要調(diào)試它。
</p>
</li>
<li>
<p>
如果您正在調(diào)試對 Internet 公開的 Web 服務(wù),請?zhí)貏e小心。</p>
</li>
</ul>
<h3 >
外部組件</h3>
<div >
<p>
請注意與您程序交互的外部組件的信任狀態(tài),
尤其是如果您沒有編寫此代碼。
還要注意 Visual Studio 或調(diào)試器可能使用的組件。</p>
</div>
<h3 >
符號和源代碼</h3>
<div >
<p>
兩個需要考慮安全的 Visual Studio 工具如下:</p>
</div>
<p>
</p>
</div>
</div> </body>
</html>
【運行效果】  【難點剖析】 本例中使用了定時器和窗口的關(guān)閉方法實現(xiàn)了定時關(guān)閉頁面功能。注意定時器的默認(rèn)時間是以毫秒為單位。 【源碼下載】 為了JS代碼的準(zhǔn)確性,請點擊:指定時間關(guān)閉頁面 進行本實例源碼下載
使用編程語言寫的程序,由于每條指令都對應(yīng)計算機一個特定的基本動作,所以程序占用內(nèi)存少、執(zhí)行效率高。 |