使用ASP常见问题解答(转载)

解答|问题

正文:

(作者:林子 2000年06月07日 14:12)

  问题:如何保护自己的ASP源代码不泄露?

  答:下载微软的Windows Script Encoder,对ASP的脚本和客户端JavaScript、VBScript脚本进行加密。客户端脚本加密后,只有IE5以上的版本才能执行,服务器端脚本加密后,只有服务器上安装有Script Engine 5(装IE5即可)才能解释执行。

  问题:为什么Global.asa文件总是不起作用?

  答:只有把Global.asa文件放在Web发布目录某个站点的根目录下它才有效,放在发布目录的某个子目录下不起作用。另外,也可以使用IIS4的Internet Service Manager把某个子目录设置为站点。

  问题:为什么ASP文件总不解释执行?

  答:在IIS服务器上没有给ASP文件以脚本解释的权限,所以ASP文件没有被Web服务器作为脚本代码进行解释执行,而被当成一般页面文件了。建议在Web发布目录中建立一个ASP目录,把所有ASP文件存放在此目录下,把ASP目录赋予脚本解释权限。

  问题:ASP文件中使用Response.Redirect(url) 时导致错误“ The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content”,请问如何解决?

  答:此错误为HTTP 标题在写入页内容之后,写到了客户浏览器中。任何 HTTP 标题的修改必须在写入页内容之前进行,解决的方法为在ASP文件最开头加入Response.Buffer = True,在文件的结尾加入Response.Flush。

  问题:为什么Session 有时候会消失?

  答:Session很像临时的Cookie,只是其信息保存在服务器上(客户机上保存的是SessionID)。Session变量消失有几种可能,如:使用者的浏览器不接受Cookie,因为Session依赖于Cookie才能跟踪用户;Session在一段时间后过期了,缺省为20分钟,如果希望更改,可以通过设置Microsoft Management Console的Web Directory→Properties→Virtual Directory→Application Settings→Configuration→App Options→Session Timeout选项来改变Session的超时时间,也可以在ASP脚本中设定, 如Session.Timeout=60,可设定超时时间为60分钟。

  问题:怎样才能知道访问者的一些信息?

  答:通过Request.ServerVariables(″HTTP—USER—AGENT″)获得访问者浏览器的类型; Request.ServerVariables(″REMOTE—ADDR″)可获得访问者的IP地址;而访问者的语言环境可通过Request.ServerVariables(″HTTP—ACCEPT—LANGUAGE″)来获得。

  问题:怎样才能将Query String从一个ASP文件传送到另一个ASP文件?

  答:前一个ASP文件加入下列代码:Response.Redirect(″second.asp?″ & Request.ServerVariables(″QUERY—STRING″))即可。

  问题:ASP中如何控制Cookies?

  答:若想写入Cookies可用:Response.Cookies(″待写入的Coookies名称″)=待写入数据。读取Cookies则使用:读取数据=Request.Cookies(″待读的Cookies名称″)。

  注意,写入Cookies的Response.Cookies程序段必须放在〈html〉标记之前,且不可以有任何的其它html代码。另外,Cookies中必须使用Expires设定有效期,Cookies才能真正地写入客户端硬盘中,否则只是临时的。

  问题:怎样实现用ASP发送邮件?

  答:用户需装上Windows NT Option pack的SMTP Service功能。实现代码如下:〈%

  Set mail = Server.CreateObject(″CDONTS.NewMail″)

  mail.TO = ″abc@xxx.com″

  mail.From = ″yourmail@xxx.com″

  mail.Subject = ″主题″

  mail.Body = ″E-Mail内容″

  mail.Send

  %〉

  问题:ASP与数据库连接一定要在服务器端设置DSN吗?

  答:不一定, ASP与服务器的数据库连接有两种方法,一种为通过DSN建立连接,另一种不用DSN建立连接。通过DSN连接数据库需要服务器的系统管理员在服务器的控制面板中的ODBC中设置一个DSN。如果没有在服务器上设置DSN,只要知道数据库文件名(比如Access、Paradox、FoxPro的数据库)或者数据源名(如SQLserver的数据库)就可以访问数据库,直接提供连接所需的参数即可。

  连接代码如下:

  set conn=server.createobject(″adodb.connection″)

  connpath=″DBQ=″ & server.mappath(″yourtable.mdb″)

  conn.Open ″DRIVER={Microsoft Access Driver (.mdb)}; ″ & connpath

  set rs=conn.execute(″select  from authors″)

  问题:如何从一页到另一页传递变量?

  答:用Hidden表单类型来传递变量。

  〈 form method=″post″ action=″mynextpage.asp″〉

  〈% for each item in request.form %〉

  〈input namee=″〈%=item%〉″ type=″Hidden″

  value=″〈%=server.HTMLEncode(Request.form(item)) %〉″〉

  〈% next %〉

  〈/form〉

  用Session来保存变量。

  〈%Session(″bh″)= request.form (″bh″)%〉

  用QueryString保存变量。

  〈a herf=″action.asp?bh=10″〉查询〈/a〉

  〈%Request. QueryString (″bh″)%〉

  问题:如何用ASP实现在线人数统计?

  答:在线人数是指一个时段内的访客人数统计,时间的长短是由设计者设定的。

  在这个时段内,各个不同IP访问本站点的总数,就是当前的线上人数。在ASP中,使用Session对象来实现统计,实现代码如下:

  Golobal.asa文件

  〈SCRIPT LANGUAGE=″VBScript″ RUNAT=″Server″〉

  Sub Session—OnStart

  application(″online″)=application(″online″)+1

  End Sub

  Sub Session—OnEnd

  application(″online″)=application(″online″)-1

  End Sub

  sub Application—OnStard

  application(″online″)=0

  End Sub

  sub Application—OnEnd

  application(″online″)=0

  End Sub

  〈/SCRIPT〉

  Online.asp 文件内容

  〈% tmp=application(″online″)

  tmp=Cstr(tmp)

  dim disp(20)

  dim images(20)

  dbbits=len(tmp)

  f

时间: 2024-09-12 23:15:51

使用ASP常见问题解答(转载)的相关文章

两星级ASP版社区之星编写的ASP常见问题解答

解答|社区|问题 1 CDONTS.NewMail不能发邮件 1 确定已经安装了IIS的SMTP服务. 2 在IIS管理器中,设置smtp服务的属性.在中继对话框里设置"仅除以下列表以外".因为默认情况下它只给某列表中列出的服务器转信,但是这个列表是空的,所以发不出去. 2 无法登陆SQL SERVER 这是因为安装SQL SERVER时使用了NT验证模式,而ASP以匿名身份运行,不够资格访问数据库服务器.解决方法:把SQL SERVER改成混合验证模式(包含SQL验证) 3 ODBC

ASP常见问题解答

1 CDONTS.NewMail不能发邮件 1 确定已经安装了IIS的SMTP服务. 2 在IIS管理器中,设置smtp服务的属性.在中继对话框里设置"仅除以下列表以外".因为默认情况下它只给某列表中列出的服务器转信,但是这个列表是空的,所以发不出去. 2 无法登陆SQL SERVER 这是因为安装SQL SERVER时使用了NT验证模式,而ASP以匿名身份运行,不够资格访问数据库服务器.解决方法:把SQL SERVER改成混合验证模式(包含SQL验证) 3 ODBC访问Access时

Imail常见问题解答

邮件主机常见问题解答 1.问:我安装IMail时全选的是它的默认设置,结果本机的FQDN(完全合格域名)成了默认的邮件主机名,我该如何修改它呢? 在IMail管理器中,选"localhost→右键→Add Host",即可进入邮件主机的配置窗口.然后选中你的机器的IP地址,将其对应的"Official Host Name"改成你需要的域名,再按"Save"保存,遇有提示一律选"Yes",最后用"Exit"退

Win8中SkyDrive应用 常见问题解答

Win8中SkyDrive应用 常见问题解答.以下是一些有关 Windows 8 和 Windows RT 的 SkyDrive 应用的常见问题解答. 我能否查看其他人与我共享的文件和文件夹? 如果他人访问 SkyDrive.com 并通过向你发送包含链接的电子邮件来共享文件或文件夹,你可以在 SkyDrive 应用中查看该文件或文件夹. 点击或单击屏幕顶部的箭头,然后选择"共享". 在对项目进行共享之后,可能需要几分钟时间它们才会出现在该应用中. 如何查看我最近打开过的 Office

win8本地安全策略常见问题解答

下面是关于win8本地安全策略的常见问题解答,大家可以参考一下. 怎么打开"Windows本地安全策略"啊?答:"搜索"键入"secpol.msc"后回车. 如何防止黑客或恶意程序暴力破解我的系统密码?答:众所周知,暴力破解Windows密码实质上是通过穷举算法来实现,尤其是密码过于简单的系统,暴力破解的方法还是比较实用的.有一点需要我们注意,这个问题的关键在于Windows是否允许远程客户端或恶意程序来进行用户名和密码的穷举,如果不允许,恶意程

Windows 7有关睡眠和休眠的常见问题解答

以下是一些有关睡眠和休眠的常见问题解答. 全部隐藏 睡眠.休眠和混合睡眠之间有什么区别? "睡眠"是一种节能状态,当您希望再次开始工作时,可使计算机快速恢复全功率工作(通常在几秒钟之内).让计算机进入睡眠状态就像暂停 DVD 播发机一样:计算机会立即停止工作,并做好继续工作的准备. "休眠"是一种主要为便携式计算机设计的电源节能状态.睡眠通常会将工作和设置保存在内存中并消耗少量的电量,而休眠则将打开的文档和程序保存到硬盘中,然后关闭计算机.在 Windows 使用的

天易成网管软件上网行为管理常见问题解答

===天易成网管软件常见问题解答(FAQ)=== 问题1:关于5种模式的说明 解答:参见论坛置顶的帖子.http://www.tyc100.com/tycbbs/showtopic-6.aspx 问题2:适用的操作系统 解答:Windows XP / Windows Vista / Windows Server 2003 / Windows 7 问题3:出现"与监控端连接失败"的提示,如何解决? 解答: 根据以下步骤检查: 1.登录时,勾选通过IP登录,IP输入127.0.0.1. 2

网管软件常见问题解答——天易成

=== 天易成网管软件常见问题解答 (FAQ)=== 问题2:适用的操作系统 解答:Windows XP / Windows Vista / Windows Server 2003 / Windows 7 问题3:出现"与监控端连接失败"的提示,如何解决? 解答: 根据以下步骤检查: 1.登录时,勾选通过IP登录,IP输入127.0.0.1. 2.如果是XP系统,点击开始菜单->控制面板->管理工具/性能和维护->服务,找到TYCNetManageService,查看

ASP 常见的安全漏洞

ASP 常见的安全漏洞 日期:2006-08-11     ASP 的漏洞已经算很少的了,想要找到数据库的实际位置也不简单,但这不表明黑客无孔可入,也正是这个观点,一般的程序设计员常常忘记仔细的检查是否有漏洞,所以才有可能导致网站资料被窃取的事件发生.今天我在这里和大家谈谈 ASP 常见的安全漏洞,以引起大家的重视及采取有效的防范措施.(注意,在本文中所介绍的方法请大家不要试用,请大家自觉遵守网络准则,谢谢!) Microsoft 的 Internet Information Server(II