2

在我的网站上遇到了一些讨厌的 javascript 恶意软件。我知道每个有问题的代码块都以以下内容开头:

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

并以

</script>

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

4

2 回答 2

1

您可能想尝试UltraEdit,它有一个内置的正则表达式搜索/替换,效果很好。此外,我相信该演示可以使用 30 天。

如果您只想从页面中删除所有Javascript 块,您可以搜索:

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

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

确保在搜索/替换对话框中选中了正则表达式框。

编辑

添加到 after<script>应该遵循的正则表达式<!--(我更改了上面的示例),您将只获得那些<script>包含紧跟在开始标记之后的注释的部分。

于 2010-05-25T22:56:20.887 回答
1

我认为您应该使用配置 Privoxy ( http://privoxy.org )。它使用 PCRE 库并且可用于 Windows。为了过滤,您应该执行以下操作:

  1. 在 Privoxy 配置目录中添加

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

    user.filter归档,

  2. 添加

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

    user.action归档(替换为/您要对其应用过滤器的站点的名称,或者如果您要将其应用于所有站点,则保持原样)。

  3. 确保有未注释的行

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

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

  4. 启动隐私。

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

于 2010-05-26T03:12:55.627 回答