2010-05-25 72 views
2

被我的网站上一些讨厌的javascript恶意软件击中。我知道,每个有问题的代码块具有以下启动:正则表达式去除javascript恶意软件的问题

<script language=javascript><!-- 
(function() 

,并结束

</script> 

我想通过正则表达式在Windows中删除讨厌位,使用某种免费的正则表达式替换工具。这里有什么建议?非常感谢。

回答

1

你可能想试试UltraEdit,它有一个内置的正则表达式搜索/替换,效果很好。另外我相信这个演示可以运行30天。

如果你只是想从网页移除所有的Javascript块,你会搜索:

<script language=javascript><!--[\s\S\p]+</script>

(\s = whitespace, \S = non-whitespace, \p = newline characters)

请确保您有正则表达式框搜索检查/替换对话框。

编辑

添加到正则表达式的后<script>应遵循<!--(我改变了上面的例子),你会得到只有那些<script>部分包括评论立即开始标记以下。

+0

谢谢,但我只需要删除具有开幕评论功能的代码块,而不是所有的脚本块。 – jeff 2010-05-25 23:45:03

+0

编辑示例以匹配您要查找的内容。 – JYelton 2010-05-26 00:17:24

1

我认为你应该使用configure Privoxy(http://privoxy.org)。它使用PCRE库并可用于Windows。为了过滤,你应该做到以下几点:

  1. 在Privoxy的配置目录添加

    FILTER: my-js-purger 
    [email protected]<script\s+language=javascript><!--\s+(function().*?</script>@@s 
    

    user.filter文件,

  2. 添加

    { +filter{my-js-purger} } 
    /
    

    user.action文件(将/替换为名称o f站点,如果您想将其应用于所有站点,则将其保留原样)。

  3. 确保有注释的行

    listen-address 127.0.0.1:8118 
    actionsfile user.action 
    filterfile user.filter 
    

    config文件(我相信它是安全的,只是在config文件的末尾添加它们无论它们已经存在)。

  4. 开始privoxy。

  5. 配置浏览器使用127.0.0.1:8118作为http/https代理服务器。