|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
缺点:正版成本价格贵(盗版就不说了)、不够安全,大多数服务器用windows系统,没有linux安全 ASP 指南
简介
“Active Server Page (ASP)”使用法式的胜利经常取决于对系统布局和设计这两方面的弃取。思索到 ASP 手艺的局限之广和以后使用法式固有的庞杂性,这类弃取长短常坚苦的。本文中,我将为您供应一些特定的指点方针,以助您胜利开辟基于 ASP 的使用法式。
--------------------------------------------------------------------------------
从曩昔胜利的开辟形式经历中,咱们总结出以下准绳。
--------------------------------------------------------------------------------
我已将指点方针收拾整顿成一组开辟准绳。在评价处理计划和手艺时,可以使用以下准绳匡助您做出决议计划。以下准绳是我临时以来从胜利的开辟形式所得的经历堆集。
准绳 1:采取尺度办法
创立定名商定并使目次布局尺度化,可以匡助您大大进步 ASP 使用法式的可读性和可保护性。固然今朝还没有 ASP 使用法式的正式尺度,很多开辟人员仍是创立了一些通用体例。在此,我将与您同享一些更加通用的体例。
由于 ASP 手艺依托剧本引擎停止任务,并且剧本具有类型不周密的天分,定名商定也很恍惚。在类型十分周密的言语中,变量将依照它的实践类型停止声明。在利用 ASP 手艺时,凡是依照处置变量的体例(而不是其实践数据类型)在 ASP 代码中声明变量。例如,在利用“Visual Basic(R) Scripting Edition (VBScript)”时,虽然一切的 VBScript 变量都是 Variant,你仍是会将胜利标记声明为 bSuccess(b 代表布尔型),而不是 vSuccess(v 代表 Variant)。
下表是一些通行的定名商定。
变量前缀:
前缀 利用的变量 变量示例
b or bln Boolean bSuccess
c or cur Currency cAmount
d or dbl Double dblQuantity
dt or dat Date and Time dtDate
f or flt Float fRatio
l or lng Long lMilliseconds
i or int Integer iCounter
s or str String sName
a or arr Array aUsers()
o or obj COM Object oPipeline
数据库对象的变量前缀:
前缀 利用的变量 变量示例
cnn Connection cnnPubs
rst Recordset rstAuthors
cmd Command cmdEmployee
fld Field fldLastName
局限及前缀的用法:
前缀 申明
g_ 创立于 Global.asa。
m_ 关于 ASP 页或在 Include 文件中是部分的。
(没有前缀) 非静态变量,关于进程来讲前缀是部分的
Knowledge Base (KB) 中的一篇文章“Q110264 INFO: Microsoft Consulting Services Naming Conventions for Visual Basic”(英文)对定名商定供应了一孔之见。
尽量采取目次布局为您的各个使用法式部件供应持之以恒的地位。您使用法式的实践目次布局固然由您本人决意,但凡是是将图象、文档、include 文件和组件分离放置在独自的目次中。以下是复杂 ASP 使用法式目次布局示例。
目次布局示例:
\SimpleAspApp
\Docs
\Images
\Includes
一个好的目次布局答应您有选择地使用 NTFS 权限。您还可以从 ASP 使用法式外部利用绝对途径。例如,可使用以下代码,从位于 SimpleAspApp 目次的 default.asp 页,援用 Includes 目次中的 include 文件 top.asp:
./includes/top.asp
注重我的 include 文件的扩大名是 .asp,而不是 .inc。如许做是出于平安方面的思索,并且利用 .asp 扩大名(而不是 .inc),还可以在 Visual InterDev(R) 中利用黑色编码。
有关布局化 ASP 使用法式的其他一些提醒和技能,请参阅文章“ASP Conventions”(英文)。
准绳 2:设计为在办事下运转
ASP 将在办事下运转。设计 ASP 使用法式时,您即刻会晤临在桌面使用法式中不会碰到的平安情况和线程成绩。在桌面情况中,凡是只处置作为交互式用户运转的单线程履行,并且有权会见以后的桌面体系。在“Internet 信息办事 (IIS)”中,摹拟分歧用户情况的多个客户机线程挪用您的使用法式,并且您的使用法式被限于“体系”桌面。
这对您来讲意味着甚么?请进修 IIS 的平安形式。还要提示您:仅由于某些器材能在 Visual Basic IDE 下可以正常运转,其实不意味着它就可以在 ASP 手艺中平安运转。Visual Basic IDE 并没有正确地摹拟运转时情况。罕见的设计毛病包含:在 ASP 手艺中利用需求用户界面的 .OCX 控件,利用对线程来讲不平安的组件,和利用请求特别的用户高低文的组件。要防止的一个最复杂的成绩,就是从使用法式中试图会见 HKEY_CURRENT_USER (HKCU) 注册表项(例如,不要挪用 Visual Basic 的 GetSetting 和 SaveSetting 函数,它们都依附于 HKCU)。一样,不要呈现需求用户停止人机交互的动静框或其他对话框。
以下文章是有关 ASP 手艺中的平安和验证成绩的相当不错的入门读物:
“Authentication and Security for Internet Developers”(英文)
“Q172925 INFO: Security Issues with Objects in ASP and ISAPI Extensions”(英文)
准绳 3:封装营业逻辑
ASP 手艺经由过程生成 HTML 输入供应了暗示办事。简而言之,它会生成用户界面。您需求将商务逻辑从 ASP 暗示剧本平分离隔来。即便您不利用 COM 组件将营业逻辑从 ASP 代码平分离隔来,最少也要将营业逻辑分隔到函数和 include 文件中,以进步可保护性、可读性和可重用性。在需求扫除毛病和隔离成绩时,您还能体味模块化设计办法的优点。
挪用剧本外部挪用函数和办法,可防止代码乱作一团,并能在 ASP 使用法式中添加布局。上面举例申明从 ASP 代码中,将逻辑分别到办法挪用中:
lt;% Main()
MyBizMethod()
...
Sub Main()
GetData()
DisplayData()
End Sub
%>
在利用包括 ASP 功效的手艺时,可以使用这一准绳。上面举一个利用 Visual Basic WebClass 时的例子,申明若何利用这一准绳:
由于 Web</p> Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来; |
|