|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
对用户来说可预见费用、节约费用,可以做到花少钱办大事。由于省去了购买软件和硬件等的前期费用,用户可以租用较高级的应用软件。ASP的收费是根据软件的类型、客制化程度、用户数量、服务期限来定的,对客户来说这笔费用是可以预见的。方便于客户应用软件的升级。尺度<P>1、通用源代码格局划定规矩
1.1开辟工具
保举利用Microsoft?公司的VisualInterDev来誊写ASP代码,利用Macromedia?公司的Dreamweaver来誊写HTML代码,也能够利用UltraEdit、ASPEdit2000等开辟工具。
1.2缩进空格
缩进空格是指在每级有两到四个空格。不要在源代码中保存TAB字符,这是由于TAB字符会跟着分歧用户的分歧设置和分歧的资本办理工具(打印、文档、版本把持等)而代表分歧的宽度。
1.3数据正当性反省
一切表单提交页面中,表单上必需填写项目和填写项目中不法输出的判别都在页面顶用javascript在客户端判别,假如必需和服务器端数据对照才干判别输出项目是不是准确不在此例。
一切提交的信息(GET体例及POST体例)都必需在服务器端从头举行数据正当性校验,并过滤不法字符(&;`"|*?~^()[]{}$
),比方,将""交换成""(两个单引号)号(交换字符串的事情将一致利用大众的CheckInputString(str)函数);而关于数字型变量,要反省输出的数据是不是全为数字(javascript中利用isFinite或isNaN,VbScript中利用IsNumeric)。
1.4参数传送
倡议利用POST办法,而不保举利用GET办法;
严禁利用GET办法、SESSION或别的体例传送SQL语句;
克制利用GET体例传送大批的查询字符串,出格是未经编码的汉字,HTTP协定传送表单域比查询字符串效力要高,并且带有一个年夜的查询字符串的页面在某些扫瞄器上会生效;
克制利用SESSION、COOKIE传送非会话时代需要的参数。
1.5URL
包括头文件,页面的链接,提交的页面,用到的图片,假如援用的是如"include"、"image"等大众部分,必需利用相对路径,即以虚根目次"/"入手下手的路径,以进步运转效力。比方:
6.4利用最复杂的游标范例和纪录锁定体例
在ADO中界说了四种分歧的游标范例:
l静态游标(adOpenForwardOnly)-用于检察其他用户所作的增加、变动和删除,并用于不依附书签的Recordset中各类范例的挪动。假如供应者撑持,可以使用书签。
l键集游标(adOpenKeyset)-其举动相似静态游标,分歧的只是克制检察其他用户增加的纪录,并克制会见其他用户删除的纪录,其他用户所作的数据变动将仍然可见。它一直撑持书签,因而同意Recordset中各类范例的挪动。
l静态游标(adOpenDynamic)-供应纪录汇合的静态正本以查找数据或天生呈报。它一直撑持书签,因而同意Recordset中各类范例的挪动。其他用户所作的增加、变动或删除将不成见。这是翻开客户端(ADOR)Recordset工具时独一同意利用的游标范例。
l仅向前游标(adOpenStatic)-除仅同意在纪录中向前转动以外,其举动相似静态游标。如许,当必要在Recordset中单程挪动时便可进步功能。
在翻开Recordset之前设置CursorType属性来选择游标范例,或利用Open办法传送CursorType参数。部分供应者不撑持一切游标范例。请反省供应者的文档。假如没有指定游标范例,ADO将默许翻开仅向前游标。
在ADO中界说了四种分歧的游标范例:
ladLockReadOnly-默许值,只读。没法变动数据。
ladLockPessimistic-守旧式纪录锁定(逐条)。供应者实行需要的操纵确保乐成编纂纪录,一般接纳编纂时当即锁定命据源的纪录的体例。
ladLockOptimistic-开放式纪录锁定(逐条)。供应者利用开放式锁定,只在挪用Update办法时锁定纪录。
ladLockBatchOptimistic-开放式批更新。用于与当即更新形式相反的批更新形式。
翻开Recordset前设置LockType属性可指定翻开时供应者应当利用的锁定范例。读取该属性可前往在翻开的Recordset工具上正在利用的锁定范例。Recordset封闭时LockType属性为读/写,翻开时该属性为只读。
在实践利用过程当中应当利用合适于处置义务的最复杂的游标范例和纪录锁定体例。比方:
仅翻开一个静态的纪录集并输入:
Rs.Opensql,Conn,0,1adOpenForwardOnly,adLockReadOnly
翻开的纪录会合有text范例的字段:
Rs.Opensql,Conn,1,1adOpenKeyset,adLockReadOnly
6.4SQL字符串过滤
一切的字符串输出框在向数据库提交查询、拔出、删除或修正一笔记录时必需用字符串过滤函数反省,即:
字符型:复写提交内容中的""、""等(利用大众函数的CheckInputString()。),并反省字符串的长度是不是超长。
数值型:利用IsNumeric()判别输出是不是为数字。
整型:利用Int(),Fix(),Round()截取其整数值。
日期型:利用isDate()函数判别是不是为准确的日期输出。
6.5SQL事件实行
对数据库操纵的事件一样平常应该利用SQL的存储历程实行。关于必要在ASP页面中实行的数据库操纵,一切拔出、删除、修正数据库不得利用RecordSet工具,必需利用Connect工具用SQL语句实行,RecordSet只在实行查询时利用。一切检索数据库的操纵克制利用"SELECT*FROM…",而要利用"SELECT字段一,字段二,字段三,…FROM…"。
6.6ADO工具的封闭
一切毗连数据库页面中,Connect和Recordset等ADO工具必需在用完后当即封闭(Close),然后将其工具开释(Set***=nothing)。
7、Cookies
7.1Cookies的感化域
Cookies的Path属性划定了Cookies前往服务器的详细路径。为了使Cookies可以在全部网站的各个目次都能够起感化,应将Domain域属性设为:"/",
Cookies的Domain域属性限定了cookies可由扫瞄器投递的地方。为了使cookies可以在全部网站的各子站点都能够起感化,应将Domain域属性设为:".yourDomain.com"。该值将作为常量cookie_Domain放进站点的大众文件中。即:
Response.Cookies("UserName").Path="/"
Response.Cookies("UserName").Domain=cookie_Domain
7.2Cookies的无效期
Cookies的Expires属性划定了Cookies的停止感化工夫。假如要创建一个会话时代的cookies,即要在客户停止扫瞄后生效,则必定不克不及设置该属性。
7.3Cookies的平安
Cookies外部的敏感信息必需加密,该加密体例在大众密钥函数库中界说。
1.5URL
包括头文件,页面的链接,提交的页面,用到的图片,假如援用的是如“include”、“image”等大众部分,必需利用相对路径,即以虚根目次“/”入手下手的路径,以进步运转效力。比方:
<AHREF="/index.asp">
<IMGSRC="/images/logo.gif”>
在一个绝对自力的模块外部,可使用绝对路径,以进步可移植性。可是,克制利用“..”前往上一级目次,即克制利用相似“../images/logo.gif”的URL。绝对路径以下誊写:缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 |
|