セルに入力されたHTMLやスクリプトがフィルタ利用によって実行される
対象製品
SpreadJS 9J
状況
修正済み
詳細
セルの値にJavaScriptやHTMLマークアップが含まれている場合に、行フィルタダイアログを開くとスクリプトが実行される現象が発生します。
【現象再現手順】
--------------------------------------------------
1. 以下の再現コードを実行します
2. セルA1に値"<script>alert('check')</script>"を入力します
3. A列のフィルタボタンを押下します
-セルA1に入力したスクリプトが実行されます
--------------------------------------------------
【現象再現コード】
--------------------------------------------------
$(document).ready(function () {
$("#ss").wijspread();
var spread = $("#ss").wijspread("spread");
var sheet = spread.getActiveSheet();
sheet.getCell(0,0).value("10");
sheet.getCell(1,0).value("11");
sheet.getCell(2,0).value("12");
sheet.getCell(3,0).value("13");
sheet.getCell(4,0).value("14");
sheet.rowFilter(new $.wijmo.wijspread.HideRowFilter(new $.wijmo.wijspread.Range(-1, -1, -1, -1)));
});
--------------------------------------------------
【現象再現手順】
--------------------------------------------------
1. 以下の再現コードを実行します
2. セルA1に値"<script>alert('check')</script>"を入力します
3. A列のフィルタボタンを押下します
-セルA1に入力したスクリプトが実行されます
--------------------------------------------------
【現象再現コード】
--------------------------------------------------
$(document).ready(function () {
$("#ss").wijspread();
var spread = $("#ss").wijspread("spread");
var sheet = spread.getActiveSheet();
sheet.getCell(0,0).value("10");
sheet.getCell(1,0).value("11");
sheet.getCell(2,0).value("12");
sheet.getCell(3,0).value("13");
sheet.getCell(4,0).value("14");
sheet.rowFilter(new $.wijmo.wijspread.HideRowFilter(new $.wijmo.wijspread.Range(-1, -1, -1, -1)));
});
--------------------------------------------------
回避方法
SpreadJS 9J SP1(Ver.3.20152.21)で修正済み