注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

时空之缘(哎呀,思考中……)

悼念过去,怀念亲人,思念哥哥!随之......

 
 
 

日志

 
 

如何对asp代码进行加密?  

2008-04-20 11:15:17|  分类: 电脑科技 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
  用Script   Encoder加密你的ASP页面  
   
          一直以来,ASP技术受到了越来越多朋友的喜爱,使用ASP从事WEB开发的人也  
  越来越多。ASP一个非常明显的特征是页面在服务器端经过处理之后发送到浏览器  
  中的内容为标准的HTML格式,这样有效的保护了页面程序的原代码不被客户端轻易  
  获取。但是另一个普遍存在的问题是:  
  由于ASP页面是纯文本的形式存放,在服务器端可以轻易看到全部编程逻辑。这样  
  给ASP应用商业化带来了一定的困难。解决的方法一般是使用组件技术将编程逻辑  
  封装入DLL之中,但问题是:  
          1、如果每段代码都组件化似乎工作量太大了,也没有必要。  
          2、还有很多网友根本就不会编写组件。  
  在这样的背景下,微软推出了Script   Encoder1.0。一个命令行的脚本加密工具。  
          Script   Encoder的特点是:  
          它只加密页面中嵌入的脚本代码,其他部分,如HTML的TAG仍然保持原样不变。  
  处理后的文件中被加密过的部分为只读内容,对加密部分的任何修改都将导致整个  
  加密后的文件不能使用。Script   Encoder加密过的ASP文件还将使Script   Debugger  
  之类的脚本调试工具失效。  
          Script   Encoder是可以对Client   Side   Script加密,也可以对Server   Side    
  Script加密。  
           
  二、使用简介  
          Script   Encoder是个命令行工具,执行文件为SCRENC.EXE。它的操作非常简单:  
   
  SCRENC   [/s]   [/f]   [/xl]   [/l   defLanguage   ]   [/e   defExtension]   inputfile   outputfile  
   
          /s                                     可选。让Script   Encoder“安静”的工作,即执行过程  
                                                  没有屏幕输出。(  
   
          /f                                     可选。指定输出文件是否覆盖同名输入文件。忽略,将  
                                                  不执行覆盖。  
          /xl                                 可选。是否在.asp文件的顶部添加@Language指令。忽略,  
                                                  将添加。  
          /l   defLanguage             可选。指定Script   Encoder加密中选择的缺省脚本语言。  
                                                  文件中不包含这种脚本语言特性的脚本将被Script   Encoder  
                                                  忽略。对于HTML和脚本文件来说,JScript为内置缺省脚  
                                                  本语言。对于ASP文件,VBScript为缺省脚本语言。同时  
                                                  对于扩展名为.vbs或.js的文件Script   Encoder有自适应  
                                                  能力。  
          /e   defExtension         可选。指定待加密文件的文件扩展名。缺省状态下,Script  
                                                  Encoder能识别asa,asp,cdx,htm,html,js,sct和vbs文件。  
           
   
  三、常见问题和注意事项  
   
      1、在JOY   ASP中几次看到有网友使用Script   Encoder时出现如下错误:          
   
          "Script   Encoder   object   <"Scripting.Encoder">   not   found   "  
   
          其原因:是使用Script   Encoder需要Script   Engine   5.0或以上脚本引擎的支持。  
          解决的办法有两个,升级浏览器到IE5或安装Script   Engine   5.0。  
   
      2、在加密Global.asa时,加密完成后访问出现:  
          Active   Server   Pages   错误   'ASP   0137'    
   
          无效通用脚本    
   
          global.asa,   行1    
   
          Script   块必须是允许的   Global.asa   过程之一。<   %...%   >   中的   Script   原语不  
          允许在   global.asa   文件中。允许的过程只能是   Application_OnStart   ,    
          Application_OnEnd   ,   Session_OnStart   ,   或   Session_OnEnd。    
   
          加密后的global.asa文件为:  
          <%@   LANGUAGE   =   VBScript.Encode   %><SCRIPT   LANGUAGE=VBScript.Encode    
          RUNAT=Server>#@~^nAIAAA==@#@&?i~Pzww^k1CYbWU{}xjOmDY@#@&@#@&BP</SCRIPT>  
   
          <SCRIPT   LANGUAGE=VBScript.Encode   RUNAT=Server>#@~^OgEAAA==@#@&?i~Pzww^k  
          1CYbWU{}x3U9@#@&@#@&P,P?O~sbVr8Ln^DPxPUnD7+.   ;D+COr==^#~@</SCRIPT>  
   
          <SCRIPT   LANGUAGE=VBScript.Encode   RUNAT=Server>#@~^DQMAAA==@#@&?i~PU+/kk  
          KU{}xjYmDO@#@&@#@&E~NnJ*Px~rCl1V+MJ@#@&3Hf,?`A@#@&ftEAAA==^#~@</SCRIPT>  
   
          <SCRIPT   LANGUAGE=VBScript.Encode   RUNAT=Server>#@~^WwIAAA==@#@&?i~PU+/kk  
          KU{}x3x9@#@&(6P?d/bWxvEj{!/DmmG[JbP@!@*PrCC^0+DE~:tnx@#@&</SCRIPT>  
   
          出现这个错误的原因是:在加密完的global.asa文件顶部被写入了  
          <%@   LANGUAGE   =   VBScript.Encode   %>  
          解决的办法是手动删去这一行或者使用/xl参数加密即可。  
   
      3、Script   Encoder对Remote   Scripting无效。  
   
  四、总结  
          根据我个人的体会,Script   Encoder还是比较好用的。使用简单,加密后的脚本运  
  行也比较稳定。不过这个东西仅仅是阻止了你随意的查看脚本原代码,估计相应的解密  
  工具不久就会出来的。所以建议可能的话,大家还是花点时间学习一下组件技术,我觉  
  得可以将这两个结合起来运用的。正如微软的文档所说:Setting   an   engine   to   deal    
  with   encoded   script   is   only   one   side   of   the   equation.   How   do   you   encode   your  
  script?   There   are   two   mechanisms   to   do   this:   a   command-line   script   encoder    
  and   a   COM-based   object   model...      
   
   
  附:  
  Script   Encoder   下载地址:  
  http://msdn.microsoft.com/scripting/vbscript/download/x86/sce10en.exe  
   
  Windows   Script   Engine   5.0    
  Windows   95,   Windows   98   &   Windows   NT   4.0   -   CHS   中文版   下载地址:  
  http://www.microsoft.com/msdownload/vbscript/scripting.asp?msid=32186&plat=x86  
          &lang=Chinese/Simplified   
 
  评论这张
 
阅读(154)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017