0
我的网站已被黑客入侵,其效果是在某些页面的/ body标记之前添加了一个脚本(我认为是vbScript)。我可以选择所有使用的目标页面使用Powershell v1从网页中删除脚本
$files=get-childitem . -recurse -include $a | where {$_.LastWriteTime -gt
[datetime]::parse("08/14/2011")}
其中$ a是文件规格的数组。我想通过get-content | -replace | set-content管道运行这些文件中的每一个,但我无法获得正确的替换参数。基本上,我想用空格或HTML注释替换和标签之间的所有内容,包括标签。我敢肯定,这可以用正则表达式来解决,但我只是无法得到它的权利 - 是这样的:提前
foreach ($f in $files)
{(get-content $f)|foreach-object {$_ -replace "<script>\w+</script>","<!--Script Replaced-->"}|set-content $f}
感谢,
埃里克˚F
预防未来的措施,维护多个备份(并保留其中的许多备份)。如果您的网站不复杂,另一个简单的选择是将这些备份签入某种源代码管理。然后你可以看到变化发生的时间和变化。此外,您可以删除这些修改,同时保留以后可能发生的良好更改。 – JasonMArcher