SQL 搜索和替换

Posted

技术标签:

【中文标题】SQL 搜索和替换【英文标题】:SQL Search and Replace 【发布时间】:2016-09-11 16:37:14 【问题描述】:

诚然,对于 SQL 命令,我是个菜鸟。一名黑客在我的一个 WordPress 网站上的每个帖子和页面的末尾插入了一个脚本标签,我试图在“wp_posts”表中进行查找和替换,但是当我运行时我不断收到 #1064 错误模拟查询。这是我所拥有的:

UPDATE wp_posts SET post_content=REPLACE(post_content, '<script type="text/javascript" src="http://www.hcifx.com/troyengelhardt/index1261.php"></script>', '');

无论我在第一组 'find' 引号内放什么,我都会得到错误,即使它是像 'hcifx' 这样简单的东西,而不是显示的整个脚本标记。有什么想法我哪里出错了吗?

【问题讨论】:

没有要恢复的备份?修复漏洞可能会留下一些漏洞,因此新安装和更新的服务器会是一个更好的主意。 我现在已经炸毁并重新安装了很多次 WP,最小化我的插件使用,用 htaccess 文件锁定每个目录,删除未使用的主题,强化文件权限等。还没有很长一段时间以来的文件级黑客攻击,现在我的数据库被黑客入侵了,我不知道我还能做些什么我还没有做的事情。 如何运行这个 SQL 命令(什么客户端)?确切的错误文本是什么? 我正在 PhpMyAdmin 中运行查询。错误说:#1064 - 您的 SQL 语法有错误;检查与您的 mysql 服务器版本相对应的手册,以在第 1 行的 '' 类似这样的语法错误消息会显示出现在意外位置的文本。例如,如果您忘记了post_content 之后的逗号,那么在它之后会出现另一个带引号的字符串是出乎意料的,因此这将是它在错误中显示给您的文本。因此,通常情况下,您应该在错误中的文本之前查看您的查询。 【参考方案1】:

事实证明,该错误是 PhpMyAdmin 中的一个已知错误。查询有效,但使用“模拟查询”功能会引发错误。我备份了我的数据库并按照编写的方式运行查询,它成功地从 db 表中的所有帖子中删除了有问题的代码。

【讨论】:

以上是关于SQL 搜索和替换的主要内容,如果未能解决你的问题,请参考以下文章

SQL 搜索和替换

在SQL中搜索和替换

如何在 SQL 2000/2005 中执行区分大小写的搜索和替换?

所有数据库中的SQL搜索和替换

在 mySQL 中搜索和替换的 SQL

sql 在数据库Wordpress中搜索和替换URL