编程(Programming)是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。为了使计算机能够理解(understand)人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。 【实例名称】 JS代码实现指定时间关闭页面 【实例描述】 在大型门户网站中,初次打开页面时常常会同时打开一个广告页,有些网站为广告页设置了自动关闭功能,即使用户不关闭广告页.它也会在指定时间内自动关闭。本例学习如何自动关闭页面。 【实例代码】 <html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>无标题页-本站(www.xue51.com)</title>
<script language="javascript">
function closepage()
{
window.close(); //关闭窗口的方法
}
setTimeout("closepage()",1000);
</script>
</head>
<body>
<p>
调试其他进程的能力赋予您极广泛的权力,
这是无法通过其他途经获得的,在进行远程调试时更是如此。
恶意的调试器可能对正在调试的计算机造成大范围的损害。
因此,对可能进行调试的人要有所限制。有关更多信息,请参见<a
>远程调试权限</a>。</p>
<p>
但是,许多开发人员没有意识到安全威胁也可以从相反的方向产生
。调试对象进程中的恶意代码可能危害调试计算机的安全:
有许多必须防范的不道德的安全利用。</p>
<h1 >
安全性最佳做法</h1>
<div>
<p>
正在调试的代码与调试器之间有一种隐式信任关系。
如果想调试代码,您还应该乐于运行它。您起码必须能够信任要调试的代码。
如您无法信任它,就不应对它进行调试,或者应在可以承担风险
且处于独立环境的计算机上对其进行调试。</p>
<p>
为了缩小潜在的攻击面,应在生产计算机上禁用调试。
出于同样的原因,永远不应无限制地启用调试。
</p>
<div>
<p>
下面是一些适用于所有托管调试的常规建议。</p>
<li>
<p>
附加到非信任用户的进程时要小心:当这样做时,
您假定它是可以信赖的。当您试图附加到非信任用户的进程时,
将会出现一个安全警告对话框确认,询问您是否要附加到该进程。
“信任用户”包括您以及在安装了
.NET Framework 的计算机上通常定义的一组标准用户,
如“aspnet”、“localsystem”、“networkservice”和
“localservice”。有关更多信息,请参见<?xml
namespace="" ns=http://msdn.microsoft.com/mshelp
prefix="MSHelp" ?></p>
</li>
<li>
<p>
从 Internet 下载项目并将其加载到 Visual Studio
时要小心。即使没有进行调试这样做也很冒险。这样做时,
您假定该项目和它包含的代码是可以信赖的。</p>
</li>
<p>
有关更多信息,请参见<a href="c84.htm">调试托管代码</a>。</p>
</div>
<h3 >
远程调试安全</h3>
<div >
<p>
本地调试通常比远程调试更安全。远程调试增加了可查看的总表面积。</p>
<p>
Visual Studio 远程调试监视器 (msvsmon.exe) 用于远程调试,
有若干对其进行配置的安全建议。由于无身份验证模式不安全,
因此配置身份验证模式的首选方式是
Windows 身份验证。使用 Windows 身份验证模式时,
请注意,授予非信任用户连接到 msvsmon 的权限是危险的,将由对话框警告指出。
</p>
<p>
不要在远程计算机上调试未知进程:有潜在的利用,
可能会影响正在运行调试器的计算机,或危害
msvsmon.exe(Visual Studio 远程调试监视器)。
如果一定要调试未知进程,请尝试本地调试,
并使用防火墙将任何潜在的威胁限制在本地。</p>
<p>
有关更多信息,请参见<a href="97.htm">安装远程调试</a>。</p>
<ul>
<li>
<p>
不要在已受威胁的 Web 服务器上启用调试。
</p>
</li>
<li>
<p>
在调试前,请确保您知道该 Web 服务器是安全的。
如果您不能确定它是安全的,请不要调试它。
</p>
</li>
<li>
<p>
如果您正在调试对 Internet 公开的 Web 服务,请特别小心。</p>
</li>
</ul>
<h3 >
外部组件</h3>
<div >
<p>
请注意与您程序交互的外部组件的信任状态,
尤其是如果您没有编写此代码。还要注意
Visual Studio 或调试器可能使用的组件。</p>
</div>
<h3 >
符号和源代码</h3>
<div >
<p>
两个需要考虑安全的 Visual Studio 工具如下:</p>
</div>
<ul>
<li>
<p>
不要在已受威胁的 Web 服务器上启用调试。
</p>
</li>
<li>
<p>
在调试前,请确保您知道该 Web 服务器是安全的。
如果您不能确定它是安全的,请不要调试它。
</p>
</li>
<li>
<p>
如果您正在调试对 Internet 公开的 Web 服务,请特别小心。</p>
</li>
</ul>
<h3 >
外部组件</h3>
<div >
<p>
请注意与您程序交互的外部组件的信任状态,
尤其是如果您没有编写此代码。
还要注意 Visual Studio 或调试器可能使用的组件。</p>
</div>
<h3 >
符号和源代码</h3>
<div >
<p>
两个需要考虑安全的 Visual Studio 工具如下:</p>
</div>
<p>
</p>
</div>
</div> </body>
</html>
【运行效果】 【难点剖析】 本例中使用了定时器和窗口的关闭方法实现了定时关闭页面功能。注意定时器的默认时间是以毫秒为单位。 【源码下载】 为了JS代码的准确性,请点击:指定时间关闭页面 进行本实例源码下载
使用编程语言写的程序,由于每条指令都对应计算机一个特定的基本动作,所以程序占用内存少、执行效率高。 |