对ASP脚本源代码进行加密

加密|脚本|源代码

  目前,ASP(Acive Server Pages)技术已风靡全球,在Internet上几乎处处都能看到它的身影。它给开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。应用这种技术,不需要进行复杂的编程,就可以开发出专业的动态Web网站。

   凡事有利必有弊,由于由于ASP脚本是采用明文(plain text)方式来编写出来的,所以开发人员辛辛苦苦开发出来的ASP应用程序,一旦发布到运行环境中去或交付用户使用后,就很难保证这些“源代码”不会被流传出去。我们如何能保护我们开发出的ASP源代码呢?

   在这里我们采用微软提供的一个加密脚本的程序:SCRENC.EXE,这个程序可以在笔者网站(http://www.zhengwei.net)上下载。这是一个运行在DOS PROMAPT的命令工具,它使脚本设计者可以对最终的脚本进行编码,从而使 Web 主机和 Web 客户不能查看或修改它们的源代码。不过有一点需要注意的是加密后的程序要求用户的游览器必须使用Internet Explorer 5.0以上的版本。加完密后的脚本变成类似于如下的内容:

  

   脚本加密程序只对脚本代码进行加密,文件的其他内容不动且以普通文本形式显示。要使用脚本加密程序,以通常方法对文本进行开发和调试,然后使用该实用程序对最终的脚本进行加密。 脚本加密程序在源代码中使用标记来标识加密开始的位置。

   对于 Visual Basic Scripting Edition (VBScript),如下示例显示了如何使用编码标记来显示普通文本的版权信息:

  

   在 JScript 中,加密标记如下:

  

   当脚本加密程序被调用时,在开始标记前,脚本块内的内容保持不变,而其他内容被加密。因此,如果开始标记被省略,则脚本编码块内的所有内容均被加密,但如果开始标记在脚本加密块的最后,则不对任何内容进行加密。

   在编码发生后。您应该知道标记或<% ... %>标记内包含有效的 HTML 和内嵌脚本块。使用该格式的应用程序包括 Microsoft? Internet Information Services (IIS)。识别文件扩展名有 .asp、.asa 和 .cdx。

    HTML。该格式由一个包含有效的 HTML 和内嵌脚本块的文本文件组成。使用该脚本格式编写的应用程序包括 Microsoft FrontPage?, Microsoft? Visual InterDev? 和所有虚拟的 Web 设计器及浏览器。识别文件扩展名有 .htm 和 .html。

    普通文本。该格式由只包含脚本而无两端标记的文本文件组成。使用该脚本格式编写的应用程序包括 Windows? Scripting Host (WSH) 和 Microsoft? Outlook?。 识别文件扩展名有 .js 和 .vbs,经加密后,分别变为 .jse 和 .vbe。

    脚本小程序。该格式由一个在标记中包含有效脚本小程序的文本文件组成。识别文件扩展名有 .sct 和 .wsh。

  示例

    如下是使用脚本加密程序的一个例子以及对其结果的简单解释:

    对输入文件 test.html 进行加密,生成输出文件 encode.html,使用:

     screnc test.html encode.html

    对输入文件 test.htm 进行加密,并用编码后的输出文件覆盖输入文件,使用:

     screnc /f test.htm

    对当前目录中的所有 .ASP 文件进行加密,并把编码后的输出文件放在c:\temp中,使用:

     screnc *.asp c:\temp

    对当前目录中的所有 .ASP 文件进行加密,并把编码后的输出文件放在c:\temp中,使用:

     screnc /e asp *.* c:\temp

    对输入文件 test.htm 进行加密,并生成输出文件 encode.htm,确保没有指定语言属性的脚本块使用 VBScript,使用:

     screnc /l vbscript test.htm encode.htm

    对当前目录中的所有脚本小程序文件进行加密,并不经信息显示就用编码后的文件覆盖这些文件,使用:
    
     screnc /s /f *.sct

   要点 :经过编码后,如果您改动加密后的文本,哪怕只改动一个字。脚本的完整性就会丢失,从而不能再使用。

时间: 2024-10-27 02:59:16

对ASP脚本源代码进行加密的相关文章

用script encoder对ASP脚本源代码进行加密

目前,ASP(Acive Server Pages)技术已风靡全球,在Internet上几乎处处都能看到它的身影.它给开发商提供了基于脚本的直观.快速.高效的应用开发手段,极大地提高了开发的效果.应用这种技术,不需要进行复杂的编程,就可以开发出专业的动态Web网站. 凡事有利必有弊,由于由于ASP脚本是采用明文(plain text)方式来编写出来的,所以开发人员辛辛苦苦开发出来的ASP应用程序,一旦发布到运行环境中去或交付用户使用后,就很难保证这些"源代码"不会被流传出去.我们如何能

保护ASP脚本源代码

于 Server端的脚本运行环境,它简单易用,不需要编译和连接,脚本可以在 Server端直接运行,并且它支持多用户.多线程,在 Web开发中得到了广泛的应用. 但是,因为 ASP脚本是纯文本格式,所以恶意者通过源代码可以很容易地看到原本不该看到的页面内容.例如, ASP源代码中通常有系统数据库的连接用户名和口令,恶意者利用此用户名和口令可以轻松地查看数据库中的所有信息(包括系统机密信息),还可能篡改库中信息,造成系统严重损坏.因此,保护 ASP脚本的源代码显得非常重要. 保护 ASP脚本源代码

ASP脚本组件的特点

脚本     我们应该从正反两方面考虑在工作中使用ASP脚本组件的必要性.与编译的组件比较,ASP脚本组件有一个明显的特点:WSC脚本文件可在任何时候进行编辑,在下一次执行时,组件中的变化可自动反映出来.不需要重新编译,不需重新启动服务器释放现有组件的引用,也不需要重新注册.并且,如果组件工作状态良好,可选用合适的语言,用已证明可靠的代码和/或算法创建一个编译版本,这同样适用于任何可转换组件.    ASP脚本组件可适应COM +.事实上,与其他ASP内置对象一样,这种组件可访问ObjectCo

使用ASP脚本技术

脚本 在VB脚本中,你不必定义变量或者象在其他脚本语言中明确的定义他们的类型.一个变量在你第一次使用的时候存在.但是,这个特性让你的代码广泛的存在打字稿中.如果你在代码中错误的定义一个变量名,那么一个新的变量将被创建.你的脚本可能不能正常的工作,而你也有可能不能意识到这个错误. 转自:中国软件网 www.csdn.com.cn在你使用变量的时候,你要养成定义他们的习惯,你所需要做的就是测试Dim variableName: %<%Dim IntUserID%>% IntUserID现在可以使用

asp实现的sha1加密解密代码(和C#兼容)_应用技巧

在百度找的几个asp sha1(vbs写的)加密结果和asp.net的sha1加密结果不一样,asp.net sha1加密完后是40位,网上找的asp sha1加密是64位,还以为asp.net做了截取(如网上的asp的md5机密和asp.net位数不一样,是做了截取的问题),但是asp的64位加密结果并没有包含asp.net的40位结果,看来找到的版本和asp.net的加密算法不一样.   最后还是靠翻墙用google找到了一个js版本的sha1加密代码结合asp使用后结果和asp.net的s

ASP常用源代码的总结(上)_应用技巧

ASP是Active Server Page的缩写,意为"动态服务器页面".ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单.方便的编程工具.下面介绍的是ASP经常用到的代码总结. 1.获得系统时间: <%=now()%> 2.取得来访用的IP: <%=request.serverVariables("remote_host")%> 3.获得系统,浏览器版本: <script> wi

ASP常用源代码的总结(上)

ASP是Active Server Page的缩写,意为"动态服务器页面".ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单.方便的编程工具.下面介绍的是ASP经常用到的代码总结. 1.获得系统时间: <%=now()%> 2.取得来访用的IP: <%=request.serverVariables("remote_host")%> 3.获得系统,浏览器版本: <script> wi

asp实现的sha1加密解密代码(和C#兼容)

在百度找的几个asp sha1(vbs写的)加密结果和asp.net的sha1加密结果不一样,asp.net sha1加密完后是40位,网上找的asp sha1加密是64位,还以为asp.net做了截取(如网上的asp的md5机密和asp.net位数不一样,是做了截取的问题),但是asp的64位加密结果并没有包含asp.net的40位结果,看来找到的版本和asp.net的加密算法不一样.   最后还是靠翻墙用google找到了一个js版本的sha1加密代码结合asp使用后结果和asp.net的s

asp.net-小白看一段ASP.NET源代码时碰到的问题

问题描述 小白看一段ASP.NET源代码时碰到的问题 1C 图里面的 登录,注册,管理员登陆均点不了,其他功能正常.相关源代码: web层 <%@ Page Language=""C#"" AutoEventWireup=""true"" CodeBehind=""Gbook.aspx.cs"" Inherits=""_28_1.Gbook""