当前位置:首页 > 知识

超级小旋风asp服务器

第一次见到“超级小旋风ASP服务器”这名字,超级我以为是小旋哪个论坛里网友自己攒的玩具。打开压缩包,风a服务不到3MB,超级解压出来一堆.asp文件和两个exe。小旋双击那个叫“SuperWhirl.exe”的风a服务东西,Windows防火墙弹窗都没来得及跳出来,超级托盘区就多了个绿色小旋风图标。小旋右键菜单里只有三项:启动、风a服务停止、超级打开根目录。小旋这玩意儿连个安装程序都没有。风a服务

它本质上是超级个把IIS核心功能剥出来的迷你Web服务器。作者把ASP.DLL和几个依赖库打了个包,小旋用Delphi写了个外壳去调用。风a服务我拿它跑过一个2003年写的留言本程序,Access数据库,连接字符串里写死了`DBQ=./data.mdb`。正常IIS上要配虚拟目录、开父路径、调32位兼容,折腾十几分钟。超级小旋风里把文件往wwwroot一扔,双击exe,浏览器敲`http://127.0.0.1`,直接出页面。那个留言本里的``照样解析,Request.Form取值也没乱码。

但别指望它能跑电商。我试过挂一个用ASPJPEG组件生成缩略图的小站,上传图片就报“ActiveX部件不能创建对象”。作者压根没注册那些第三方COM组件,只保留了FSO、ADODB、CDONTS这几个最基础的。换句话说,它就是个“ASP语法解释器+静态文件服务”的缝合体。有意思的是它的日志格式——不是IIS那种W3C标准,而是自己写的一行文本:`2024-11-07 14:22:31 | 192.168.1.5 | GET /news.asp?id=3 | 200 | 12ms`。用记事本打开就能看,不用装日志分析器。

内存占用稳定在8MB左右。我开着它同时用VS Code改.asp文件,保存后刷新浏览器立刻生效,没有IIS那种应用程序池回收的延迟。有次我故意把`global.asa`删了,它照样跑,只是Session_OnStart里写的计数器不执行了——说明它根本没实现完整的ASP对象模型,只是按需解析。还有个细节:端口默认8080,改端口要手动编辑同目录下的`config.ini`,里面就三行:`Port=8080`、`Root=./wwwroot`、`Index=index.asp,index.html`。没有GUI设置界面,改完重启exe才生效。

适合谁用?我拿它给一个做模具设计的朋友搭过内部查询工具。他厂里十几台老XP机器,IE6,要查零件库存。用Access做后端,ASP写几个查询页,超级小旋风扔在共享文件夹里,每台机器双击就能当服务器用——因为根本不需要“服务器”,谁要看数据谁自己开。局域网里五个人同时查,没崩过。但要是超过二十个并发,CPU立马飙到70%,毕竟它单线程处理请求,一个卡住全排队。

作者在readme.txt里留了句话:“本程序仅供学习ASP使用,请勿用于生产环境。”挺实在。我见过有人拿它挂在外网VPS上跑博客,结果第二天就被扫出`/wwwroot/../`路径遍历漏洞——它没做URL规范化,`..%2f`能直接读系统文件。后来作者在2.3版加了过滤,但过滤规则写死了,遇到`%252e%252e`这种双重编码照样绕。所以我的用法永远是:只开127.0.0.1,或者扔在虚拟机里当沙盒。

现在这软件早停更了,最后一个版本停在2016年。但每次我在新系统上装IIS失败——比如Windows 11家庭版没有IIS功能——就会翻出这个绿色小旋风。解压,双击,写个`<% Response.Write("hello") %>`,看到浏览器出字,就知道ASP那套老骨头还能动。它不优雅,不安全,不完整,但那种“扔个exe就能跑”的粗暴直接,现在的Docker和Kestrel反而给不了。

分享到: