Global.asa 文件的作用主要是用于站点或虚拟目录下程序的数据共享和多线程.
它其实是一个可选文件,程序编写者可以在该文件中指定事件脚本,并声明具有会话和应用程序作用域的对象.该文件的内容不是用来给用户显示的,而是用来存储事件信息和由应用程序全局使用的对象.
该文件必须存放在应用程序的根目录内. 每个应用程序只能有一个Global.asa文件.(重点!!!)
在 Global.asa 文件中声明的过程只能从一个或多个与 Application_OnStart、Application_OnEnd、Session_OnStart 和 Session_OnEnd 事件相关的脚本中调用.在基于 ASP 的应用程序的 ASP 页中,它们是不可用的.
先看看布鲁斯狼是怎么讲述关于Global.asa文件的 -------------------------------------------------------------
-------------------------------------------------
引用到此,文章给了我们一个实例. (文章摘自 布鲁斯狼) http://www.cnbruce.com/blog/showlog.asp?cat_id=26&log_id=419
在ASP里有个特殊的文件,一旦Global.asa存在于站点或虚拟目录的根目录下. 所有ASP文件执行前都会先执行Global.asa. Global.asa文件可以管理在ASP应用中两个非常苛刻的对象:Application,Session.
-------------------------------------------------
 -------------------------图(1)------------------------------ Session_OnStart 当客户首次运行 ASP 应用程序中的任何一个页面时运行,很让人联想呢! 看这个不是很眼熟吗? -------------------------------------------
-------------------------------------------- 记起来了吧? 现在就没什么好讲的拉,来打造我们任意文件的后门! 写上面的文件到Global.asa,保存在根目录. 不要用海洋连,会出错, (不知道是因为使用了Application,哪个朋友可以解释下,谢谢) 只要能再生成一个后门就好了. 用蓝屏的一句话木马,连就好. 第一次访问
 -------------图(2)------------- 错误 '8002802b' 找不到元素.
//global.asa,行2 ------------------------------ 刷新一次,OK,页面正常了. 为了演示,用海洋抓张图,只可以出现登陆界面.
 -------------图(3)-------------
这个缺少元素错误只会出现一次,所以我们在生成文件之后就访问一次,当别的用户在访问时就不会再有错误提示.(已测试)
这个文件的隐蔽性还是不怎么好的,毕竟在根目录下生成了一个文件. 应用范围在有Application的程序上. 比如聊天室,查询同时在线的人数.可能会有这个文件 因为用到application.lock&application.unlock 这样我们就可以插入文件,达到我们的目的.
插入文件的时候,不要把程序放在Sub...end SUB之间,不然可能出现问题. 比如放在Sub Session_OnStart中, 只是第一次登陆的时候可以使用. 因为Session存在时间的缘故,当直接进行关闭窗口,并不能触发Session_OnEnd事件.要等它自己注销掉,默认是20分钟.当然也可以换个机器再试. request字符最好长且生僻些,以免其他页面的提交数据重复,出现错误. 学习中的一点小发现,告诉大家思路,希望能让大家举一反三,发现更多有趣的东西.
by:jackal www.3800hk.com
备注:相关内容已经作成动画, 有需要的朋友可以去下载! |