ajax的运用
因为项目在进行安全准入检查,也是代码安全的一种处理方式吧,然后我们在进行行加密以及模块加密,就是因为行信息中存在行id可以通过更换行id进行查询其他行的信息,模块也是一样,可能会出现垂直越权以及水平越权,所以为了处理这个问题,我们增加了行加密以及模块加密,对于行id和模块名进行加密,后台增加处理,如果行id和模块名无法匹配则无法进行。
上面是前提,但是遇到一个蛮尴尬的问题,加密的字符串是通过ajax传递的参数类似。
问题
因为是这样的
js
var url = encodeURI(top.server+"/assetDetailsQueryAll/exportDetailViewListPeriodName?"+ postStr);
$.ajax({
url: url,
type: 'post',
dataType: "JSON",
})
因为具体的加密字段在接口后面用?接着,就导致了加好变成了空格,后台校验没有通过,被浏览器给解析了,实话说好久没有写过了前端了,我以为要都改成参数化的,或者是直接提交表单的,from的提交,然后问了问才知道可以保持这个不变情况下增加参数
处理
java
var url = encodeURI(top.server+"/assetDetailsQueryAll/exportDetailViewListPeriodName?"+ postStr);
$.ajax({
url: url,
type: 'post',
dataType: "JSON",
data: {
amsRemark:amsModuleRemark
}
})