jQuery MiniUI

 找回密码
 立即注册
查看: 3067|回复: 4
打印 上一主题 下一主题

XSS攻击的问题 [复制链接]

Rank: 6Rank: 6

跳转到指定楼层
楼主
发表于 2019-4-25 17:04:55 |只看该作者 |倒序浏览
今天测试反馈了一个安全问题,在录入一个信息时,测试放了一个html标签进去。然后在datagrid展示的时候,发现这个标签被解析成了html结构。比如企业名称,他录入了一个input标签,然后表格中真的展示了一个input标签。如何避免这个问题?

Rank: 8Rank: 8

沙发
发表于 2019-4-25 17:09:22 |只看该作者
列上设置autoEscape="true"

Rank: 6Rank: 6

板凳
发表于 2019-4-25 17:19:26 |只看该作者
dforce 发表于 2019-4-25 17:09
列上设置autoEscape="true"

每一列都要设置么?那有的表格四五十个列   那不是设置很多。有没有全局的方法呢?如果用全局方法是不是影响自定义渲染函数了

Rank: 8Rank: 8

地板
发表于 2019-4-25 17:50:17 |只看该作者
happylover1278 发表于 2019-4-25 17:19
每一列都要设置么?那有的表格四五十个列   那不是设置很多。有没有全局的方法呢?如果用全局方法是不是 ...

  (function () {
            var inited = false;
            function init() {
                var grid = this;
                var columns=grid.getBottomColumns();
                $(columns).each(function(i,column){
                   column.autoEscape=true;
                })
                grid.doUpdate();
            }

            var set = mini.DataGrid.prototype.set;
            mini.DataGrid.prototype.set = function () {
                set.apply(this, arguments);
                if (!inited) {
                    init.call(this);
                    inited = true;
                }
               
            }
        })();

独立一个js文件引入

Rank: 6Rank: 6

5#
发表于 2019-4-26 14:24:11 |只看该作者
dforce 发表于 2019-4-25 17:50
(function () {
            var inited = false;
            function init() {

好   谢谢,辛苦了

Archiver|普加软件

GMT+8, 2024-11-26 18:24 , Processed in 1.055791 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部