2017-07-11 16 views
2

MySQLテーブルに悪質なコードが入らないようにするためのトリガーを作成しました。この表はオンラインフォームとそれに続くレポート表示にリンクしています。ここでトリガーを使用して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を防ぐためだろうか?

答えて

0

Yes..thoughこれはあなたが引き金で

REPLACE(new.name,"<","&lt;") 

を使用して...これを行うための最善の方法ではありません。むしろあなたはこれを行うために任意のサーバーサイドスクリプトを使用します..like php "htmlentities"

関連する問題