我的一个sql表注入了一些html代码。插入它以便在实际数据之后插入html标记。如何从我的表中删除它。
答案 0 :(得分:0)
好吧,在不了解您的问题的情况下,我只能建议您查找不需要的内容的典型模式,然后在其中运行一些UPDATE
个适当的REPLACE()
语句。
如果你一直在使用MySql ...... 我根本没有看到SQL-server标签; - /
...... Giorgi解决方案的缩短版本应该是:
UPDATED tableName SET infestedCol=substring_index(infestedCol,'<',1)
不幸的是,你不能在这里使用正则表达式作为搜索模式,它必须是正确的情况。
最重要的是,请确保您不会获得更多内容,以便进一步保护您的用户表单。
答案 1 :(得分:0)
您可以使用html代码以符号<
开头的事实。然后:
UPDATE TableName
SET SomeColumn = CASE WHEN CHARINDEX('<', SomeColumn) > 0
THEN SUBSTRING(SomeColumn, 1, CHARINDEX('<', SomeColumn) - 1)
ELSE SomeColumn END
如果不是这样,那么我们需要更多有关数据的信息。可能根本不可能......