当前位置: 首页 > 图文教程 > 网络编程 > ASP > 对ASP脚本源代码进行加密

ASP
ASP基础讲座(下)
解决IIS5 HTTP500内部错误
ASP 3.0高级编程(四十六)
ASP 3.0高级编程(四十五)
ASP 3.0高级编程(四十四)
ASP 3.0高级编程(四十三)
ASP 3.0高级编程(四十二)
ASP 3.0高级编程(四十一)
ASP 3.0高级编程(三十九)
ASP 3.0高级编程(三十八)
ASP 3.0高级编程(三十七)
ASP 3.0高级编程(三十六)
ASP 3.0高级编程(三十五)
ASP 3.0高级编程(三十四)
ASP 3.0高级编程(三十三)
ASP 3.0高级编程(三十二)
ASP 3.0高级编程(三十一)
ASP错误代码说明
jscript错误代码及相应解释大全
ASP错误处理

对ASP脚本源代码进行加密


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 43 ::
收藏到网摘: n/a

  目前,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

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