从邮箱附件里下载到一个 .asp 文件,双击以后弹出一堆代码,或者系统问用什么软件打开,这两种情况都常见。asp文件其实是 Active Server Pages 的缩写,微软早年的一套网页脚本,里面混着 HTML 和 VBScript。浏览器请求时,服务器先跑里面的脚本,再把结果拼成 HTML 发回来,所以右键查看源代码看不到脚本原文。
它没有默认查看器。用记事本、VS Code、Notepad++ 都能打开看源码,右键选打开方式就行。编辑时别用 Word,Word 会往文件里塞一堆格式标签,存回去脚本可能就跑不起来了。
在 IIS 里跑起来要满足三个条件
服务器得装 IIS,并在 Windows 功能里勾选 ASP 支持;网站目录要给它读取和执行权限;默认文档里要有 index.asp 或 default.asp。少一样,常见的结果就是 404 或者 500.100 这类脚本错误。本机测试时把 ASP 和 ISAPI 扩展一起勾上,省得后面反复排查。
- 404:路径不对,或者默认文档没配
- 500:脚本本身报错,浏览器开详细错误看行号
- 403:目录权限或默认文档缺失
现在只剩老系统还在用 ASP
新项目基本不用 ASP 了,微软后来推的是 ASP.NET,语法和运行方式都不一样。老系统里还能见到 .asp,多是十几年前留下的企业站或内部系统,维护前先备份,编码一般是 GB2312,用 UTF-8 编辑器打开容易乱码。接手时先复制一份到本地目录,改完对着测,别直接在生产目录动刀。
还有一点容易混:.aspx 是 ASP.NET 的页面,.asp 才是老 ASP,两者不是同一个东西,别直接改后缀就想让它跑起来。
另外,IIS 默认只认已经注册的脚本映射,.asp 要启用 ASP 功能,.aspx 要装 .NET 并注册处理程序,顺序别搞反。遇到 500 错误先看浏览器详细错误,再翻 logs 目录里的日志,比盲猜快。
所以 asp文件不用找什么专用播放器,看代码用文本编辑器,要运行就配 IIS。只收到一个文件又不知道来源,别急着往服务器上放,先看清里面有没有数据库连接字符串和明文密码。