使用ASP常见问题解答

1、如何保护自己的ASP源代码不泄露？

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

2、为什么Glabal.asa文件总是不起作用？

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

3、为什么ASP文件总不解释执行？

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

4、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。

5、为什么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分钟。

6、怎样才能知道访问者的一些信息？

通过Request.ServerBariables("HTTP-USER-AGENT")获得访问者的IP地址；而访问者的语言环境可通过Request.ServerBariables("HTTP-ACCEPT-LANGUAGE")来获得。 7、怎样才能将QueryString从一个ASP文件传送到另一个ASP文件？ 前一个ASP文件加入下列代码： Response.Redirect("second.asp?" & Request.ServerVariables("QUERYSTRING"))即可。