热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

怎么对ASP页面进行加密?

为有效地防止ASP源代码泄露,怎么可以对ASP页面进行加密。听说可以使用微软的ScriptEncoder对ASP页面进行加密,但我下载以后安装,不知道怎么使用,各位大侠能否指教一下,或者有什么好的办
为有效地防止ASP源代码泄露,怎么可以对ASP页面进行加密。听说可以使用微软的Script Encoder对ASP页面进行加密,但我下载以后安装,不知道怎么使用,各位大侠能否指教一下,或者有什么好的办法可以对ASP页面进行加密。

4 个解决方案

#1


保护ASP脚本的源代码



  Active Server Page(简称ASP)技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效率。但由于ASP脚本是采用明文(Plain Text)方式来编写的,所以应用开发商辛辛苦苦开发出来的ASP应用程序,一旦发布到运行环境中去后,就很难确保这些“源代码”不会被有意或无意地“流传”出去,无法实现对知识产权的保障。这样就产生了如何有效地保护开发出来的ASP脚本源代码的需求。本文将就如何有效地保护开发出来的ASP脚本的源代码的思路和方法进行了基本的分析和展示。


  ■ASP的运行机制■


  我们先来分析一下ASP的运行机制:首先,ASP脚本是一系列按特定语法(目前支持Vbscript和Jscript两种脚本语言)编写的、与标准HTML页面混合在一起的脚本所构成的文本格式的文件。当客户端的最终用户用Web浏览器通过Internet/Intranet来访问基于ASP脚本的应用时,Web浏览器将向Web服务器发出HTTP/HTTPS请求。Web服务器分析、判断出该请求是ASP脚本的应用后,自动通过ISAPI接口调用ASP脚本的解释运行引擎(ASP.DLL)。ASP.DLL将从文件系统或内部缓冲区获取指定的ASP脚本文件,接着就进行语法分析并解释执行。最终的处理结果将形成HTML格式的内容,通过Web服务器“原路”返回给Web浏览器,由Web浏览器在客户端形成最终的结果呈现。这样就完成了一次完整的ASP脚本调用。若干个有机的ASP脚本调用就组成了一个完整的ASP脚本应用。


  ■思路与方法■


  根据ASP脚本的原理,我们就可以提出以下几种保护ASP脚本源代码的思路:

  1)“脚本最小化”:即ASP文件中只编写尽可能少的源代码,实现商业逻辑的脚本部分被封装到一个COM/DCOM组件,并在ASP脚本中创建该组件,进而调用相应的方法(Method)即可。应用开发者在动手开发ASP脚本应用之前就可按此思路来开发,或直接用ASP脚本快速开发出原型系统后,针对需要保护、加密的重要的部分脚本用COM/DCOM组件来重新开发、实现并替换。

  2)“脚本加密”:即ASP脚本仍直接按源代码方式进行开发,但在发布到运行环境之前将脚本进行加密处理,只把加密后的密文脚本发布出去。要实现这种方法,就要在ASP.DLL读取脚本这个环节加入密文还原的处理。

  实现这种思路的方法主要有两种:方法一是自行开发一个ISAPI的IIS过滤(Filter)模块,在ASP.DLL之前钩连(Hook)对ASP脚本文件的读取,以便把从文件系统读出的密文还原成ASP.DLL可以解释的明文;方法二就是直接由ASP.DLL提供对ASP脚本加密处理的支持。微软在新版本的Vbscript.DLL和JScript.DLL中提供这种称为Microsoft Script Encode技术的支持。这样,无论是客户端的Vbscript或Jscript(包括WSH脚本等),还是服务器端的Vbscript或Jscript(即ASP脚本)都可以支持加密处理。

  Microsoft Script Encode技术具体的实现思路包括以下两个方面:一是加密过程,通过提供一个实用程序对包含ASP脚本源代码的文本文件进行扫描,找出其中标记为“〈SCRIPT LANGUAGE=″Vbscript″〉”或“〈SCRIPT LANGUAGE=″JScript″〉”的脚本部分,进行加密处理并替换为密文后,将该标志相应地改为“〈SCRIPT LANGUAGE=″Vbscript.Encode″〉”或“〈SCRIPT LANGUAGE=″JScript.Encode″〉”;二是还原过程,IE浏览器或ASP.DLL等执行脚本时是统一通过Vbscript.DLL或JScript.DLL来进行解释执行的,所以它们都能同时地、透明地支持明文和密文的脚本!

  总之,如果采用第一种思路,要么就自行在开发过程中遵照进行,要么可以考虑选择自动转换成Visual Basic编译代码的通用的、实用工具;采用第二种思路的话,要么就自行开发IIS ISAPI过滤模块,要么可以考虑直接采用Microsoft Script Encoder软件。


  ■实例■


  从微软公司站点免费下载到sce10en.exe(英文版)或sce10chs.exe(简体中文版)之后,直接运行之即可完成安装过程。安装完毕之后,将生成一个screnc.exe可执行文件,这是一个运行在DOS Prompt的命令行工具。

  假设我们现在有如下的一个ASP脚本文件要进行加密:


  我们可以在DOS Prompt下运行screnc-l Vbscript aa.asp bb.asp〈Enter〉来生成包含密文ASP脚本的新文件bb.asp,其中的运行参数-l Vbscript是用来显式指明是Vbscript语法。

  加密后的结果如下:


  这里大家可能已经注意到了,所有的英文字符,只要是在“〈%”和“%〉”之内的,不管是否是注解,都变成了不可阅读的密文了,但中文却没有进行变换?!不过,这一点对其可用性来说应该还是可以接受的。

#2


我也要分!!

#3


SCRENC [/s] [/f] [/xl] [/l defLanguage ] [/e defExtension] inputfile outputfile

脚本加密程序语法的组成部分如下: 

部分 描述 
/s 可选的。 开关,它指定脚本加密程序的工作状态是静态的,即产生无屏幕输出。如省略,缺省为提供冗余输出。 
/f 可选的。指定输入文件将被输出文件覆盖。 注意,该选项会破坏您原来的输入源代码。如省略,输出文件不会被覆盖。 

/xl 可选的。指定不把 @language 伪指令添加到 .ASP 文件顶部。如省略,@language 指令添加到所有的 .ASP 文件中。 
/l defLanguage 可选的。指定在加密过程中使用的缺省脚本编写语言 (JScript? 或 Vbscript)。被加密文件中的脚本块如不包含语言属性,即被认为是由指定语言写成。 如省略,JScript 是 HTML 页和脚本小程序的缺省语言,Vbscript 是动态网页的缺省语言。对于普通文本文件,由文件扩展名 ( .js 或 .vbs)决定缺省脚本编写语言。 
/e defExtension 可选的。把输入文件与一个特定的文件类型相关联。当输入文件的扩展名不能明显显示出文件的类型时,即,当输入文件扩展名不是可识别的扩展名,但文件内容又可以归为可识别的类型时,使用该开关。该选项无缺省值。如果遇到一个带不可识别的扩展名的文件,且该选项未被指定,则脚本加密程序不能处理该不可识别的文件。可识别的文件扩展名有 asa、asp、cdx、htm、html、js、sct和 vbs。 
inputfile 必需的。要被加密的文件名称,包括相对于当前目录的任何需要的路径信息。 
outputfile 必需的。要生成的输出文件的名称,包括相对于当前目录的任何需要的路径信息。

#4



推荐阅读
  • 如何搭建服务器环境php(2023年最新解答)
    导读:本篇文章编程笔记来给大家介绍有关如何搭建服务器环境php的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、怎么搭建p ... [详细]
  • asp中如何嵌入python的简单介绍
    本文目录一览:1、如何在IIS中执行Python脚本 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • PHP编程能开发哪些应用?
    导读:很多朋友问到关于PHP编程能开发哪些应用的相关问题,本文编程笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!本文目录一览: ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 本文介绍了禅道作为一款国产开源免费的测试管理工具的特点和功能,并提供了禅道的搭建和调试方法。禅道是一款B/S结构的项目管理工具,可以实现组织管理、后台管理、产品管理、项目管理和测试管理等功能。同时,本文还介绍了其他软件测试相关工具,如功能自动化工具和性能自动化工具,以及白盒测试工具的使用。通过本文的阅读,读者可以了解禅道的基本使用方法和优势,从而更好地进行测试管理工作。 ... [详细]
  • loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ... [详细]
  • 玩转直播系列之消息模块演进(3)
    一、背景即时消息(IM)系统是直播系统重要的组成部分,一个稳定的,有容错的,灵活的,支持高并发的消息模块是影响直播系统用户体验的重要因素。IM长连接服务在直播系统有发挥着举足轻重的 ... [详细]
  • vb6集成ad登录共享文件_SCSP实验2单点登录
    01—实验目的掌握单点登陆相关原理和深信服配置02—实验环境1.AC版本v12.0.42AC1地址:https:172.172.1.1AC2地址:htt ... [详细]
  • FIN7后门工具伪装成白帽工具进行传播
    fin7,后门,工具,伪装,成,白, ... [详细]
  • NetBPM的安装还是比较简单的,有比较详细的文档。1.当然是先下载运行程序了,netbpm-0.8.3.1.zip,官方网站ÿ ... [详细]
  • 对hishop 商城 web.config加密,和解密码详细说明 ... [详细]
  • windows平台使用NSP拦截具体进程的域名解析过程(xFsRedir的代理功能之域名代理)
    byfanxiushu2022-10-17转载或引用请注明原始作者。xFsRedir软件其中之一的功能就是实现了全方位的网络代理,从主机代理,到本地代理 ... [详细]
author-avatar
文锋仔-
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有