ASP代码加密工具使用非常简单,尽管如此,我们还是希望提供给您更详细的操作方法及说明。
基本选项 点此查看更多设置...
返回 
将绿色滚动条拖动或选中到“网站”位置可对整个网站所有ASP文件进行加密,能够最大限度的保护您的代码安全。加密时选择加密前网站文件夹和加密后保存文件夹位置,设置好后按“开始加密”即可全部完成。如图:

网站全部加密后关于更改用户参数请查看:如果我要把加密后的网站让用户修改某些参数怎么办?
返回 
将绿色滚动条拖动或选中到“文件”位置则对网站内单个或部分ASP文件进行加密。使用时将需要加密的部分文件添加进来,然后按“开始加密”即可,如图:

注意,单个或部分文件加密功能也是要依赖于网站目录加密的,因此也需要设置加密站点所在文件夹和加密输出目标文件夹。单个或部分文件加密注意事项请查看:可以对单个或部分文件加密吗?
返回 任务配置
该项功能可以将当前加密任务的所有设置保存为一个配置文件,以便日后一键导入,极大方便多个网站在加密时的不同设置的加密操作。
返回 包括子文件夹
当选择网站目录加密时,是否对选择的网站目录下的所有子文件夹一起加密。
返回 复制其他文件
当选择网站目录加密时,是否复制原目录中其他文件(数据库/图片等)到加密后目录。
返回 文件更新增量加密
当选中该选项时,只对最新修改过或没有加密过的文件进行加密,不会对以前没有修改且加密过的ASP文件重复加密,极大提高加密整个网站时执行效率。
返回 自动排除包含文件
当选中该选项时(点击“文件更新增量加密”旁边的小箭头即可将该选项调出),将不再对网站中被包含的ASP文件进行重复加密处理。实际上,被包含的文件都是不用外部直接请求访问的文件,且这些文件很有可能只是一些不完整的功能代码。特别是当在将ASP编译转换成DLL时,如果也将这些文件单独转换成DLL,反而有可能编译转换不成功(如:子程序或函数未定义等语法错误)。因此没有必要将其单独处理进目标文件夹,虽然启用该选项可能影响文件加密时预处理速度,但强烈建议启用该选项。
返回 加密代码分行
是否对加密后的代码进行分行保存。
返回 显示加密过程
加密时在执行任务框中是否显示加密执行相关信息。
返回 加密数据库文件
数据库加密功能拥有独特的MDB加密专利算法,加密后MDB数据库文件将不能再被Access等软件打开查看或编辑,可以最大限度地保护您数据库的设计和结构。值的一提的是,加密后的数据库并不会影响ASP的运行速度。(您还可以通过加密时设置的密码对数据进行解密)。
返回 加密完成发出提示音
加密大型网站时,可能需要较长时间,您可以趁此机会放松一下自己眼睛,到办公室窗口呼吸一下新鲜空气吧,启用该选项加密完成时会有声音提示您。
更多设置 点此查看基本选项...
返回 服务器默认ASP语言
选择服务器端IIS中默认的ASP语言,大多数服务器配置默认为VBSCRIPT。查看您的服务器器认语言方法为:
打开IIS - 选择您的站点,右键属性 - “主目录”选项卡 - 单击“配置按钮”弹出“应用程序配置”选项框 - 再单击“选项”,即可查看到。
返回 ASP文件默认后缀
一般情况下,ASP文件默认后缀为.asp,但在特殊情况下,您还可以按自己的需求自定义ASP文件的后缀。
返回 网页文件编码
即网站中ASP文件所采用的文件编码。软件会预设当地语言编码为默认文件编码。在中国大陆,我们通常采用的是gb2312格式编码的文件,用户如采用UTF-8编码时,请选择相应的编码,另外如果网站中存在多种编码的文件,请选择“自动识别”编码方式。
返回 智能关闭数据库
当选择该选项时, 如果您的ASP文件打开了数据库连接而忘了关闭,则会智能关闭数据库连接,以节省您的网站资源开销。
返回 启用代码加速
选中该选项可以自动优化您的代码,进一步提高您加密后的代码执行速度。
返回 优化沉余代码
选中该选项可以自动清除您ASP代码中的多余空格及无效代码。
返回 核心语法增强
当启用该选项时,会对ASP文件中的语法结构进行特殊处理,使您的ASP语法即使在未加密之前就得到更强的安全保护,ASP代码的安全性让您更无后顾之忧,加密时应用该功能后,加密后的代码将没有还原的理论可能。
必要说明:即使您没有使用该功能,您加密后的ASP代码也是安全的,我们的多种加密方案加密后都具有无法彻底还原的机制,自2007年软件发布至今,我们的加密方案都经受住了安全考验,加密后的ASP程序版权保护率达100%(没有出现用户的ASP网站在加密发布后再被二次修改),因此敬请没有使用该功能的用户同样放心。
返回 HTML代码隔离
当选择该选项时,只对ASP文件中的ASP代码(即<%...%>部分)进行加密,HTML代码不加密以便用户修改界面。
返回 HTML代码保护
我们都知道,我们在访问网页时,在页面中点击右键“查看源文件”时,会看到程序输出给浏览器识别的HTML源代码。当选择该选项时, 会对您页面中输出的客户端HTML代码进行加密保护,如图:
温馨提示:我们并不建议您使用该选项。因为加密客户端HTML代码意义不大,而且客户端代码是要输出给浏览器识别而无法做到绝对保护的,使用该选项反而会防止搜索引擎对您网站的收录,影响网站对外的推广及用户对您网站的体验。
返回 
选中该加密方式将对您的ASP代码以编译型加密,加密后的代码直接以二进制方式执行,加密后代码执行速度和安全表现最好。
返回 
选中该加密方式将ASP代码加密并以IIS方式执行,加密速度及代码适应性表现最好。
返回 
选中该加密方式将ASP代码打包转换成DLL组件,这些组件将保存在输出目标文件夹下的AspCoding_DLL目录中,运行加密后的网站服务器上必须要安装这些组件。选择该选项时强列建议您启用“自动排除包含文件”选项。
温馨提示:如果ASP编译DLL不成功,则很有可能是您的ASP代码存在语法错误造成的。例如:变量和自定义函数同名(二义性名称)、程序中调用不存在的函数或过程(子程序或函数未定义)等。因此在ASP编译成DLL时,必须保证ASP程序的语法是完全正确的。
编译成组件(DLL)可设置选项:
返回 VB 6.0 路径
将ASP代码打包编译成组件需要VB6.0支持,默认情况下,软件会自动获取VB6的路径,另外,通过该设置您还可以手动设置VB6.0的路径。
返回 组件工程名
设置您组件工程名称,即您在ASP代码中调用DLL的工程名称,如 Set my = Server.CreateObject("AspCoding.index")。即红色部分(黄色部分软件会根据您的ASP文件自动生成)。
返回 初始化模式
指组件的初始化,软件提供3种初始化模式:
兼容模式COM - 该模式在DLL中代码表现为 Public Sub OnStartPage(x As ScriptingContext) ... End Sub 对组件的初始化,该模式专为ASP转DLL采用,经我们测试,该模式比下一模式执行效率约高5%;
扩展模式COM+ - 该模式在DLL中代码表现为 Private sub Class_Initialize() ... End Sub 对组件的初始化,该模式是Microsoft为应用程序扩展考虑而采用的模式;
NetBox全能模式 - 该模式为在NetBox中正常运行我们设计的一种模式,您可以采用该模式使您的组件脱离IIS,单独在NetBox下运行,值得说明的是,该模式不会影响ASP的执行效率。
返回 组件作用域
对应单个文件- 即在将ASP文件转换成DLL时,每一个ASP文件都生成一个DLL文件;
对应全部文件- 即在将ASP文件转换成DLL时,您所选择的所有ASP文件生成一个DLL文件;
返回 同名类模块
这里说的模块是指用户在ASP中自定义的类,即 Class ClassName() ... End Class 代码。在一个网站中,多个ASP文件可能会包含有相同名称的类,例如几个文件包含了有自定义类代码的同一文件,此时我们可以知道这几个文件中引用的这个类模块是同一模块。由于各个ASP文件是单独的,但也有时候,不同的文件中也可能有相同名称但实际上是不同的类,因此我们可以选择:
按不同模块处理 - 即在将ASP文件转换成DLL时,如果多个文件之中存在有相同名称的类模块时,按不同的类来对待处理;
按同一模块处理 - 即在将ASP文件转换成DLL时,如果多个文件之中存在有相同名称的类模块时,按同一个类来对待处理;
返回 组件版本
设置组件的版本,该版本信息可以通过组件属性查看。
返回 组件版权信息
设置组件的法定版权信息,该版权信息可查看方法同上。
返回 输出到VB工程
选中该选项在将ASP代码转换成DLL的同时,输出并保存一个相关的VB工程到目标文件夹下AspCoding_VB6目录中,您可以用 Visual Basic 6.0 来打开并再次编辑。
返回 生成注册卸载批处理
选中该选项将会为生成后的DLL组件自动生成注册批处理命令,并保存在目标文件夹下的AspCoding_DLL目录中。
返回 生成调试信息
有时候,由于您的ASP文件中存在语法或代码错误,在生成DLL后,程序运行结果肯定也是不正常的,选中该选项,将会很方便的在运行有错误的ASP文件时进行调试,运行加密后的ASP文件时的调试信息将会保存在网站根目录中的 AspCodingDebug.Log 文件中。文件范例 Test.asp 中代码为:
以下是引用片段:
<%
On Error Resume Next
Dim i,l,n
i=0
l=1
n=2
Response.write i
Response.write l/i '注意此处,此时会有一个除数为零的错误产生
Response.write n
%> |
因为用了On Error Resume Next容错代码,这个程序是可以运行的,结果是:02。有时候,我们不知道错误出在哪里,如果启用了“生成调试信息”功能,我们就会很容易捕捉到text.asp中第7行有个除数为零的错误,图示:

温馨提示:开启该功能后,ASP中的每次错误均会生成1条相应的信息累加保存在 AspCodingDebug.Log 中,因此,当您程序中错误较多或调试很长时间后,AspCodingDebug.Log 文件将会越来越大影响网站运行速度,您在调试时程序时可以定期删除 AspCodingDebug.Log。另外,在网站调试修改好最后一次加密发布时,请不要启用这个选项。
返回 压缩编译后的组件
即对您生成后的DLL进行压缩,该功能可以将生成后DLL的体积减小到原来体积的1/5,压缩后的DLL在执行效率上表现更高更优。图例(动网DVBBS主页生成的DLL):

返回 
选中该加密方式将ASP代码重新组织和处理,使其难以理解以达到加密的目的。由于该加密方式没有通过组件处理,因此,可以把该方式加密后的ASP代码布置在任何一台服务器上均可运行,不需要安装官方组件。
温馨提示:该加密方式并没有加密您的ASP语法逻辑部分,因此不可以达到保护您知识产权的目的。虽然如此,该加密方式混淆后的某些ASP代码,则是不可逆的,如:Dim UserName 混淆加密后则可能变成随机且无意义的字符Dim A_A_AA__。另外,选择该加密方式时,如果您启用了注册授权、静态加速或MDB数据库加密功能时,也是需要组件支持处理的。
混淆型加密可设置选项:
返回 混淆组合字符
混淆组合字符决定混淆后的代码表现方式,由2个英文字母、数字或下划线组成,如组合符是A和B,则混淆后的代码则是类似ABBABABAAB这样的形式。
返回 混淆内置对象
对ASP内置的五大对象(Request、Response、Server、Application、Session)进行混淆处理。
返回 混淆变量参数
对ASP代码中的变量及各种参数进行混淆处理。
返回 混淆自定义函数
对ASP代码中的自定义函数(包括Function和Property)名称进行混淆处理。
返回 混淆过程
对ASP代码中的过程(Sub)名称进行混淆处理。
返回 混淆类名
对ASP代码中的过程(Class)名称进行混淆处理。
返回 混淆数字
对ASP代码中的必要的数字进行混淆处理。
返回 字符串加密
对ASP代码中的字符串或中文进行加密。
返回 字符串再次混淆
对ASP代码中的字符串或中文进行混淆处理。
返回 优化文件大小
减小经过混淆后的文件的大小。
返回 启动防止以GET方式提交注入参数
启动拦截以GET方式提交设置的注入关键字,此时,凡是地址栏中的URL如果包含有设置的关键字都会被拦截。
返回 启动防止以POST方式提交注入参数
启动拦截以POST方式提交设置的注入关键字,此时,凡是在表单中提交的信息如果包含有设置的关键字都会被拦截。
返回 启动防止以COOKIE方式提交注入参数
启动拦截以COOKIE方式提交设置的注入关键字,此时,凡是在COOKIE中储存有设置的关键字都会被拦截。
返回 日期访问控制
设置网站允许访问的日期期限。
返回 域名访问控制
设置网站允许访问的域名,如:www.abc.com|abc.com,则只允许使用http://www.abc.com和http://abc.com访问网站。
该功能同时支持泛域名设置,如:*.abc.com则表示允许使用www.abc.com、abc.com、oa.abc.com、xxx.abc.com等abc.com所有的二级域名。
返回 服务器IP访问
设置网站允许使用的服务器IP,如:127.0.0.1|201.125.80.68,则只允许在本地或IP为201.125.80.68的服务器使用该网站。
返回 客户端IP访问
设置某些客户端IP是否可以访问网站,另外您还可以设置规则这些IP是允许访问还是不允许访问。
温馨提示:点击控制面板上的向上小箭头可调出该设置。
返回 访问人数控制
设置网站的同时在线访问人数,超过设置人数将会发出设置的提示信息。
温馨提示:点击控制面板上的向上小箭头可调出该设置。
返回 代码附加功能
该功能方便用户设置统一的ASP代码到各个文件的头部。
返回 版权备注功能
更改您的ASP文件中的备注信息。图示:

返回 真正全面支持JAVASCRIPT/JSCRIPT服务器端脚本
这一重大优势体现在编译型加密功能中(因为非编译型加密后的代码仍需要提交到IIS中运行,是不必处理这些脚本的,加密时也省略掉了这些脚本的处理)。
我们还要弄明白,什么是客户端脚本?什么是服务器端脚本?
客户端脚本:服务器将代码传到客户电脑中,由客户的浏览器执行,服务器是不执行的。如网页中的动画/图片滚动等,多表现为JS脚本,这些脚本代码浏览者都可以看到。
服务器端脚本:直接在服务器执行,将得到的结果转换成数据输出给浏览器。表现形式如<%...%>ASP代码和各种服务器端脚本,这些脚本代码浏览者都是看不到的。
现在,看下面的代码:
以下是引用片段:
<!--服务器端VBScript脚本-->
<script Language="VBScript" runat="server">
Response.write("1")
</script>
<!--服务器端Javascript脚本-->
<script Language="Javascript" runat="server">
Response.write("2");
function createConnection(mdbPath){
conn = Server.CreateObject("ADODB.Connection");
conn.connectionString = "Provider=Microsoft.JET.OLEDB.4.0;DATA Source=" + Server.MapPath(mdbPath);
conn.open();
}
</script>
<!--服务器端ASP代码-->
<%
Response.write("3")
createConnection("Test.mdb")
'这里进行读取数据库中的数据操作
conn.close
set conn=nothing
%>
|
在上面代码中,包含有以VBScript和Javascript语言的服务器端脚本。
注意到了吗?都是带有runat="server"标识的。:)
在您把上面代码复制到ASP中运行之前,先猜猜,里面各有一个数字输出,将会得到一个什么结果?
如果您认为是:123,那么您错了,正确答案是:231。
另外,经过加密后仍能在ASP代码中调用服务器端Javascript脚本中的数据库链接和函数,就和加密前的运行效果完全一样,真正全面支持JAVASCRIPT/JSCRIPT服务器端脚本。
|