快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

ASP开发网页时需要牢记的注重事项列表

步骤
永远不要相信用户输入的内容具有适当的大小或者包含适当的字符。在使用其做出决策之前应该始终对用户输入进行验证。最佳的选择是创建一个 COM+ 组件,这样您可以从 ASP 页面中调用该组件来验证用户的输入内容。您也可以使用 Server.HTMLEncode 方式、Server.URLEncode 方式,或者本页底部代码示例中的某一个。
不要通过连接用户输入的字符串来创建 ASP 页中的数据库连接字符串。恶意用户可以通过在他们的输入内容中插入代码来获取数据库的访问权限。假如您使用的是 SQL 数据库,那么请使用存储过程创建数据库连接字符串。
不要使用默认的 SQL 治理员帐户名 sa。每个使用 SQL 的用户都知道存在 sa 帐户。创建具有安全可靠密码的其他 SQL 治理帐户,并删除 sa 帐户。
在您存储客户端用户密码之前,请对这些密码使用哈希算法、进行 base64 编码,或者使用 Server.HTMLEncode 或者 Server.URLEncode 进行编码。您还可以使用本页底部的某个代码示例验证客户端密码中的字符。
不要把治理帐户名或密码放置在治理脚本或 ASP 页中。
不要根据哀求标题在代码中做出决策,因为标题数据可以被恶意用户伪造。在使用哀求数据前,始终要对其进行编码或者使用下面的代码示例验证其所包含的字符。
不要将安全数据存储在 Cookie 中或者将输入字段隐藏在网页中。
始终将安全套接字层 (SSL) 用于基于会话的应用程序,以避免未对会话 Cookie 进行加密就发送它们所带来的风险。假如会话 Cookie 没有经过加密,则恶意用户可以使用一个应用程序中的会话 Cookie 进入到与之在同一进程中的另一个应用程序。
当编写 ISAPI 应用程序、筛选器或者 COM+ 对象时,请注重由于变量和数据的大小而造成的缓冲区溢出。还要注重可能由于解释造成的规范化问题,例如将绝对路径名解释成相对路径名或 URL。
当在单线程单元 (STA) 内运行的 ASP 应用程序切换到多线程单元 (MTA) 内时,模仿令牌将过时。这可能导致应用程序在无模仿的情况下运行,让其用可能答应访问其他资源的进程的标识有效地运行。假如您必须切换线程模型,请在进行更改之前,先禁用该应用程序并将其卸载。

代码示例
本代码示例包含了一个函数,它可删除发送至该函数的字符串中的可能有害的字符。在上面的两个示例中,指定代码页以确保准确地编码。下面的示例使用的是 Microsoft Visual Basic® Scripting Edition(VBScript):

<%@ LANGUAGE="VBScript" %>
<%
Response.CodePage = 1252
Response.Write("Hello, " & RemoveBadCharacters(Request.Form("UserName")))
Response.Write("<BR>This is why you received an error:")

Function RemoveBadCharacters(strTemp)
Dim regEx
Set regEx = New RegExp
regEx.Pattern = "[^sw]"
regEx.Global = True
RemoveBadCharacters = regEx.Replace(strTemp, "")
End Function
%>

下面的示例使用的是 Microsoft JScript&reg;:

<%@ LANGUAGE="JScript" %>
<%
Response.CodePage = 1252;
Response.Write("Hello, " + RemoveBadCharacters(Request.Form("UserName")));
Response.Write("<BR>This is why you received an error:");

function RemoveBadCharacters(strTemp) {
strTemp = strTemp.replace(/[^sw]/g,"");
return strTemp;
}
%>
返回类别: 教程
上一教程: 使用ASP结合数据库实现不限级数的弹出菜单
下一教程: 实例学习DREAMWEAVER MX ASP编程基础2

您可以阅读与"ASP开发网页时需要牢记的注重事项列表"相关的教程:
· 用ASP创建多栏选项列表
· ASP讲座之一:网页开发利器:高效易学的ASP
· 用ASP开发一个在线考试程序(七)
· 动态网页制作技术JSP与ASP的比较
· 使用XMLHTTP结合ASP实现网页的异步调用
    微笑服务 优质保证 索取样品