php - Mysql使用正则表达式搜索和删除

标签 php mysql regex

有人向我咨询了一个被黑客入侵的数据库,该数据库在数千行中存在大量链接注入(inject)。

链接注入(inject)的基本格式似乎始终如下:

<a href="http://SOME-RANDOM-LINK-HERE.com/" style="text-decoration:none;color:#676c6c">SOME RANDOM TEXT HERE</a>

本质上我需要删除所有包含样式属性 text-decoration:none;color:#676c6c

我正在寻找最快的解决方案。无论是正则表达式还是其他什么,我们都非常感谢任何指导。谢谢!

最佳答案

您可以使用此正则表达式查找注入(inject)的链接。

正则表达式: <a .*? style="text-decoration:none;color:#676c6c".*?>.*?<\/a>

这将查找 <a></a>style="text-decoration:none;color:#676c6c" 。这不会触及其他链接。

<强> Regex101 Demo

您还应该检查此 answer 关于如何在 MySql 中进行替换。

关于php - Mysql使用正则表达式搜索和删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36212413/

相关文章:

php - getJSON 与 jquery

javascript - 如何从 "View in iTunes"这样的浏览器启动Windows应用程序?

mysql - 值是存储在表中的字符串吗

在 innodb 恢复期间,MYSQL 不断被杀死

php - MySQL:基于国家/地区的产品列表

java - 找到模式时替换

javascript - 从带有 trim 空格和新行的字符串中获取主题标签

php - 为什么我的动态添加的表单输入没有发布?

java - 正则表达式匹配字母数字字符和一个 *,总长度应为 3

php - If 语句重定向