当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 现在大部分的j2ee程序都没有一个好的保护办法,很传统的办法就是混淆编译,但是如果使用混淆边以后,可能导致jsp中的代码不能正常运行。
 

 

    摘要:主 题: 软件工程是否过度炒作 - 作者:liuwea 作 者: eastvc ( mylevel(0) 书童)所属论坛: 软件工程本帖分数: 0回复次数: 35发表时间: 2003-10-23 21:41:41正文内容:看china-pub的热门书籍就可以知道我们国家现在的软件水平是什么样子的了。我们给予软件工程方面太多太多的关注了。大学的时候我们学的都是面向过程的软件开发方法。现在流行面......
    摘要:--删除存储过程declare @string varchar(8000)while exists(select name from sysobjects where type=´p´ and status>=0)begin select top 1 @string=´drop procedure ´+name from sysobjects ......


使用定制ClassLoader来对保护j2ee程序

现在大部分的j2ee程序都没有一个好的保护办法,很传统的办法就是混淆编译,但是如果使用混淆边以后,可能导致jsp中的代码不能正常运行.

如果只这样的话可能还存在漏洞,就是定制classloader没有加密,如果classloader反编译后就可能得到你的类了,我们第一步所做的就成了徒劳.有没有好的办法解决这个问题呢?其实也有,就是修改java.exe,自己控制java.exe装载定制的classloader具体的办法可以参照如何有效的保护java程序. 【程序编程相关:使用oralce Cursor

其实有个好的办法就是使用定制classloader来load一些关键的类,使用定制的classload来装载类的话,就可以对关键的类加密后在解密后就可以了. 【推荐阅读:硬件英语

程序代码段如下: 【扩展信息:一段让所有的程序员震撼的文字

另外还有一个问题就是,在tomcat,weblogic,websphere等应用服务器中怎样能保证他们使用定制的classloader来load我加密的类呢?一般应用服务器是不提供这个外部classloader这个功能的.要解决这个问题就是使用factory设计模式,接口,实现类与工厂类,在工厂类中获取接口实例化类的时候不用直接new,而是首先调用实例化定制的classloader,接着调用定制classloader的load方法装载类.

//myclassloader.java

package com.test.classload;

import java.util.jar.*;

import java.io.*;

public final class myclassloader extends classloader {

  private static jarfile jar = null;

  public myclassloader() {

  }

  public class findclass(string name) throws java.lang.classnotfoundexception {

      class clasz = null;

      clasz = findloadedclass(name);

      if(clasz!=null){

        return clasz;

      }

      if(jar==null)


...   下一页
 ·oracle诊断案例-sql    »显示摘要«
    摘要:link: http://www.eygle.com/case/sql_trace_2.htm 问题说明: 很多时候在我们进行数据库操作时比如drop user,drop table等,经常会遇到这样的错误 ora-00604: error occurred at recursive sql level 1 . 这样的提示,很多时候是没有丝毫用处的.本案例就这一类问题提供一个思路......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE