用asp实现的iframe批量替换工具

说明:
1、此工具可以批量替换网站上asp,.txt,php,aspx...等等文本型的字符
2、将replace.asp上传至网站根目录后,运行http://网站域名/replace.asp
3、为了安全,使用本程序后请删除或更名


代码如下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%option explicit
Response.Buffer=true
Response.CharSet="GB2312"
Server.ScriptTimeout=9999999
%> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<meta http-equiv="Content-Language" content="zh-CN" /> 
<title>Iframe替换程序</title> 
<style type="text/css"> 
<!-- 
#top 

    text-align:center; 
    margin:auto; 
    font-size:11pt; 

#top_b 

    text-align:left; 
    width:350px; 
    border:1px solid #000000; 
    margin:auto; 
    padding:0px; 
    line-height:200%; 

#top_b div 

    padding-left:8px; 
    padding-right:8px; 

#ftitle 

    text-align:center; 
    width:350px; 
    background:silver; 
    font-weight:bold; 
    letter-spacing:5px; 
    font-size:15pt; 
    padding:3px 0 3px 0; 
    color:red; 
    margin:auto; 
    border:1px solid #000000; 
    border-width:1px 1px 0 1px; 

#btm 

    text-align:center; 
    padding-top:8px; 
    padding-bottom:8px; 
    background:#ececec 

textarea 

    width:330; 
    height:100px 

#copyr 

    font-size:9pt; 
    text-align:center; 
    color:silver 

--> 
</style> 
</head> 
<body> 
<% 
if request.querystring("add")="yes" then 
%> 
<div id="top"> 
    <div id="ftitle">程序处理结果</div> 
    <div id="top_b"> 
        <div> 
            总文件:<span style="color:red" id="allfile"> </span>个   
            替换过文件:<span style="color:red" id="repfile"> </span>个 
        </div> 
        <div><br />被替换过文件路径列表↓<textarea id="txtreple" style="height:300px;overflow:auto"></textarea>
        </div> 
      <div id="copyr"><br />
      </div> 
    </div> 
</div> 
<% 
dim oldstr :oldstr=request.form("lookstr")  '源字符串 
dim newstr :newstr=request.form("replacestr") '新字符串 
dim rep : rep=cbool(request.form("bak"))   '是否备份文件,true为备份文件 
dim i : i=0  '总文件个数 
dim j : j=0  '被替换的文件个数 
function chkexistsfile(path) '判断一个文件是否存在,如果存在,返回true,否则返回false 
    dim fso 
    set fso=server.createobject("scripting.filesystemobject") 
    if fso.fileexists(path) then 
        chkexistsfile=true 
    else 
        chkexistsfile=false 
    end if 
    set fso=nothing 
end function 
function getfilecode(TemplateFname) '获取一个文件的代码 
    Dim FSO, FileObj, FileStreamObj 
            Set FSO = CreateObject("scripting.filesystemobject")
              If FSO.FileExists(TemplateFname) = False Then
               getfilecode=""
              Else
                Set FileObj = FSO.GetFile(TemplateFname)
                Set FileStreamObj = FileObj.OpenAsTextStream(1)
                If Not FileStreamObj.AtEndOfStream Then
                    getfilecode = FileStreamObj.ReadAll
                End If
              End If
              Set FSO = Nothing:Set FileObj = Nothing:Set FileStreamObj = Nothing
end function 
sub jstxt(txt) '使用JavaScript 
    response.write "<script type=""text/JavaScript"" language=""JavaScript"">" 
    response.write "<!--"&chr(13)&chr(10) 
    response.write txt 
    response.write chr(13)&chr(10)&"//-->" 
    response.write "</script>" 
end sub

sub getfolderfile(byval cpath) '替换某一个(子)文件夹下的所有文件 
    response.flush 
    dim fso : set fso=server.createobject("scripting.filesystemobject") 
    if fso.folderexists(cpath)=false then  
        jstxt("alert("" "&replace(cpath,"\","\\") & "不存在该文件夹!"&" "") ") 
        response.end 
    end if 
    dim folders : set folders=fso.GetFolder(cpath) 
    dim sfile 
    for each sfile in folders.files 
        dim filecode : filecode=getfilecode(sfile) 
        dim filecode_b : filecode_b=filecode 
        if instr(filecode,oldstr) <> 0 and fso.GetExtensionName(sfile) <> "bak" then 
            jstxt("document.getElementById(""txtreple"").value+="""& replace(sfile,"\","\\") & "\r\n""" &chr(13)&chr(10)) 
            jstxt("window.status="""& replace(sfile,"\","\\")&"""") 
            jstxt("document.title="""& replace(sfile,"\","\\")&"""") 
            filecode=replace(filecode,oldstr,newstr) 
            dim newfilecode : set newfilecode=fso.opentextfile(sfile,2) 
            newfilecode.write filecode 
            j=j+1 
            if rep then 
                dim newfilecode_b : set newfilecode_b=fso.opentextfile(sfile+".bak",2,true) 
                newfilecode_b.write filecode_b 
            end if 
        end if 
        i=i+1 
        jstxt("document.getElementById(""allfile"").innerHTML="""&i&"""") 
        jstxt("document.getElementById(""repfile"").innerHTML="""&j&"""") 
    next 
    dim sfolder 
    for each sfolder in folders.subfolders 
        getfolderfile(sfolder) 
    next 
    set fso=nothing

end sub

getfolderfile(server.MapPath(trim(request.form("pfolder")))) '调用程序 
else 
%> 
<div id="top"> 
    <form action="?add=yes" method="post" name="strform"> 
        <div id="ftitle">Iframe批量替换程序</div> 
        <div id="top_b"> 
            <div>
              <p>文件夹地址:
                <input type="text" size="25" name="pfolder"/>
              </p>
              <p>          如根目录请输入:/,指定目录,请输入:"/目录/"
              </p>
            </div> 
            <div>备份原文件:<input type="checkbox" name="bak" value="true" /></div> 
            <div><br />查找字符串↓<textarea name="lookstr" rows="10"></textarea>
            </div> 
            <div><br />替换查找的字符串↓<textarea name="replacestr"></textarea></div> 
            <div id="btm"><input type="submit" value=" 确定 " /></div> 
          <div id="copyr"><br />
          </div> 
        </div> 
    </form> 
</div> 
<SCRIPT type="text/javascript" LANGUAGE="JavaScript"> 
<!-- 
function chk() 

    var forma=document.strform; 
    if(forma.pfolder.value=="") 
    { 
        alert("文件夹地址不能为空"); 
        forma.pfolder.focus(); 
        return; 
    } 
    else  
    { 
        forma.pfolder.value=forma.pfolder.value.replace(/\//g,"\\"); 
       forma.pfolder.value=forma.pfolder.value.replace(/。/g,"."); 
    } 
    if(forma.lookstr.value=="") 
    { 
        alert("查找字符串不能为空!"); 
        forma.lookstr.focus(); 
    } 
    else if(forma.replacestr.value=="") 
    { 
        alert("替换查找的字符串不能为空"); 
        forma.replacestr.focus(); 
    } 
    else 
    { 
        forma.submit(); 
    } 

//--> 
</SCRIPT> 
<% end if %> 
</body> 
</html>

(0)

相关推荐

  • 用asp实现的iframe批量替换工具

    说明: 1.此工具可以批量替换网站上asp,.txt,php,aspx...等等文本型的字符 2.将replace.asp上传至网站根目录后,运行http://网站域名/replace.asp 3.为了安全,使用本程序后请删除或更名 复制代码 代码如下: <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <%option explicit Response.Buffer=true Response.CharSet=&q

  • [Perl]文字/代码批量替换工具

    Perl脚本batchReplace.pl可以用来批量替换文件中的文字/代码.可在指定目录中查找指定类型的文件,并递归检查子目录:在输出文件时复制输入文件的目录结构. [附件]Win32应用程序batchReplace.exe是由Perl脚本编译产生的可执行程序,不需安装Perl运行环境即可执行. 在命令行中使用 batchReplace.exe[ -i 输入文件路径(或包含文件的目录)][ -o 输出文件位置(文件或目录)][ -c 批量输入文件的扩展名,以"."开始,多个扩展名之间

  • 字符批量替换程序asp服务器版

    **********字符批量替换程序asp服务器版****************** 安装方法:直接把replace.asp文件放在任意的支持asp+FSO的环境中 运行方法:用http://localhost/.../replace.asp访问即可看到程序的效果 此程序的功能主要用来替换文件夹中所有文本文件字符用的. 如:txt.htm.asp.jsp.php.-- 一切的文本文件 div+CSS布局  兼容FF和IE浏览器 ---------目前具有功能------------------

  • MSSQL批量替换语句 在SQL SERVER中批量替换字符串的方法

    方法一:(这种是最常用的,因为很多大段的内容都使用text ntext等数据类型,而我们通常也是替换里面的内容) varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace 替换 text ntext 数据类型字段的语句 复制代码 代码如下: update 表名 set 字段名=replace(cast(与前面一样的字段名 as varchar(8000)) ,'原本内容','想要替换成什么') 方法二:(替换其他数据

  • 批量替换sqlserver数据库挂马字段并防范sql注入攻击的代码

    首先备份数据库,以防不必要的损失.而后对所有被挂马的小于8000字符的varchar字段执行 复制代码 代码如下: update 表名 set 字段名=replace(字段名,'<Script Src=http://c.n%75clear3.com/css/c.js></Script>','') 其中<Script Src=http://c.n%75clear3.com/css/c.js></Script>为挂马字段.执行后挂马字段被清除.但是有部分字段,比

  • dos批量替换当前目录后缀名的实现代码

    有时候有些后缀名不满足条件,就需要进行批量的替换,如果人为的去替换,那么如果量少的话还好说,量多的话一个个去替换就太傻了,今天从网络上面查找了一些批量替换的dos命令,用起来还挺好用的,就直接把代码贴在这边. 比如有时候照相出来的后缀名都是jpeg,但是有些网站为了安全,直接限制只能上传jpg的后缀名,这个时候就可以用这个批量替换工具了. 复制代码 代码如下: @echo off set /p filename=请输入要替换的后缀名: echo. set /p filename2=请输入替换后的

  • asp.net操作Word实现批量替换

    首先引入Microsoft.Office.Interop.Word组件,该组件在安装完office后在COM中出现. 代码如下 using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; namespace TextReplace { public class WordOperate : IDisposable { private M

  • ASP+MSSQL2000 数据库被批量注入后的解决方法第1/2页

    mssql的每个varchar.text字段都被自动插入一段js代码,即使删除这段代码,如果没有从源头上解决,几分钟后,js代码就又会自动插入数据库. 经过飘易的观察,这很有可能是程序自动执行的,黑客先从搜索引擎google.百度等搜索存在漏洞的采用asp+mssql设计的网站,然后采用小明子这样的注入扫描工具,扫描整个网站,一旦发现有sql注入的漏洞或者上传漏洞,黑客就通过各种手段,上传自己的大马,如海阳木马:然后,黑客就把这个网站纳入他的肉鸡列表,随时在数据库里加入自己希望加的js代码,而这

  • 用asp实现的代码批量修改程序,fso相关

    用asp实现的代码批量修改程序,fso相关 是因工作需要做的一个批量修改代码的小东西,拿出来与大家分享 目前可以处理的文件类型:.asp .inc .htm .html 具体类型可自行修改添加 程序实现的功能:将源目录下的文件批量修改后存到目的目录下 用它稍做修改可以实现很多东西噢! 别的不说了,代码里面都写的很清楚了 <% '// +---------------------------------------------------------------------------+ '//

  • Access中批量替换数据库内容的两种方法

    今天遇到一个问题,一Access数据库中存放着N条文章记录,现在想替换掉这些文章中的部分内容,我们首先想到的是到网站后台去一条一条修改文章,那如果有1000篇文章,那就在网站后台改1000次,难以想象这是什么样的工作量.其实在Access数据库中可以利用SQL语句来批量替换内容,只需一句话就能解决问题,下面通过两种方法来解决此问题. 方法一:通过Access数据库中的查询分析器来修改(这里我使用的是Access 2003) 1.打开需要修改的Access数据库 2.在数据库"对象"中点

随机推荐