jQuery
DataTables

jQuery DataTablesを使うときのXSS対策

More than 1 year has passed since last update.

var result = /* サーバーから取得したデータとか */

$("#dataTable").DataTable({
data: result,
columns: [
{ data: "name" },
{ data: "age" },
{ data: "tel" },
...
]
});

なにも考えずにそのままデータを追加すると、サニタイズされないのでXSSが成立してしまう。

なので、ユーザーから入力されたものを含んだデータはrender$.fn.dataTable.render.text()を設定しておきましょう。

$("#dataTable").DataTable({

data: result,
columns: [
{ data: "name", render: $.fn.dataTable.render.text() },
{ data: "age", render: $.fn.dataTable.render.text() },
{ data: "tel", render: $.fn.dataTable.render.text() },
...
]
});


参考

DataTables - Security