gpt4 book ai didi

jquery - 数据表编码 HTML

转载 作者:行者123 更新时间:2023-12-01 01:23:17 25 4
gpt4 key购买 nike

我用过jQuery Datatables在我的 Laravel Web 应用程序上。我使用 packagist chumper/datatable 来处理数据表服务器处理。

不幸的是,我发现了严重的安全问题,即XSS(跨站脚本)。服务器返回 JSON 数据,客户端将数据加载到表中而不进行转义。

如何让客户端在将数据加载到表中之前转义数据?

最佳答案

fnCreatedRow是一个回调函数,用于在创建行后操作表行元素。我们可以使用此回调函数来修改该行,然后再将该行插入到 HTML 文档中。

我使用 chumper/datatable 生成此函数:

$table = Datatable::table()
->addColumn('ID', 'Username', 'Name', 'Email', 'Actions')
->setUrl(URL::to('admin/users/data'))
->setOptions(array('aoColumns' => array(array('sType' => 'numeric'), null, null, null, array('bSortable' => false))))
->setCallbacks('fnCreatedRow',
'function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {
for (var i = 1; i < 4; i++) jQuery("td:eq(" + i + ")", nRow).text(aData[i]);
}'
)
->noScript();
return View::make('admin.users.index', compact('table'));

我使用 fnCreatedRow 修改每个 td 元素的内容,以便 td 元素将数据显示为文本(HTML 编码)。

关于jquery - 数据表编码 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26261713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com