使用Trigger防止MySQL中的代码插入

时间:2017-07-11 10:33:27

标签: php mysql xss

我创建了一个触发器,以避免在我的MySQL表中输入恶意代码。此表链接到某些在线表格和后续报告显示。

这是表结构:

CREATE TABLE `test` (
  `name` varchar(100) NOT NULL,
  `age` int(11) NOT NULL,
  `address` varchar(100) NOT NULL
)

CREATE TRIGGER `tst` BEFORE INSERT ON `test`
 FOR EACH ROW begin
if new.name like '%<%' 
then
signal sqlstate '45000';
end if;
end

这是否会阻止表格字段中的代码注入/ XSS&#34; name&#34; ?

1 个答案:

答案 0 :(得分:0)

是的。虽然这不是最好的方法......你使用

REPLACE(new.name,"<","&lt;") 
触发器中的

。相反,你使用任何服务器端脚本来做这个...像php“htmlentities”