所以有几件事。首先,生病了,我似乎无法像我应该的那样专注于弄清楚这一点,其次,这让我对如何处理这个问题感到困惑。
所以我有一个客户,他有一个基于旧代码的旧网站。代码中存在一些允许注入和攻击的极端漏洞——这种情况发生了。自从我进入这个项目以来,我已经大大收紧了事情,并没有真正遇到问题。但我刚刚发现了一些似乎是以前黑客攻击中挥之不去的问题。
所以在数据库中,他们有一个名为“copy”的字段,用于存储文章的内容。好吧,不是最好的名字,但它就在那里。所以这就是问题所在。自黑客攻击以来,有大约 52k 行中包含“伟哥”一词。因此,当我仔细查看复制字段和视图源中的代码时,我发现:
for the little kids in the neighborhood.<div style="display: none;">
基本上打开和关闭的 div 标签具有如上所示的样式集。所以它不会在页面上直观地呈现,但是当您查看源代码或...“搜索引擎蜘蛛”经过时,他们会看到它。直到今晚,我都无法弄清楚为什么上传到 article_image 目录的 .php 文件会在网站管理员工具中被索引。现在我知道为什么了。
所以这就是我需要的。因为数据库中的每一行(其中 52k)都有作为示例(the <div style...>
)部分给出的内容,并且它们都出现在最初存在的内容之后,所以我需要一些可以添加到循环中的东西来清除废话复制字段,以便清理混乱。我可以采用 str_replace 方法——但这太长了,不能保证我会得到所有的东西。
所以 - 有什么建议吗?