目前问题:

运行结果:

QQ截图20140911171128.png(14.68 K)

2014-9-12 11:02:28

CODE 为王,直接奉上。

          $(document).ajaxSend(function (e, xhr, o) {
// 截获RunReport请求
if (o.url.indexOf('/ActiveReports.ReportService.asmx/RunReport') > 0) {
xhr.abort(); // 终止AR默认请求
$.ajax({
type: "POST",
url: o.url,
global: false, // 这句很重要不再触发ajaxSend事件,不然会走死循环
data: o.data,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
var msgStr = JSON.stringify(msg);
msgStr = msgStr.replace(/给不能为 null 的参数指定一个 null 值/g, '此字段为必填项');
msg = JSON.parse(msgStr);
o.success(msg);
},
error: o.error
});
}
});

代码的意图很简单:
目前存在的问题就是“给不能为 null 的参数指定一个 null 值”的输出来自后台服务,后台服务不可篡改;

QQ截图20140912102942.png(59.20 K)

2014-9-12 11:02:28

要篡改文字只能通过前台操作

前端解决的原理:

捕获Ajax请求-->终止默认请求-->手动调用Ajax-->篡改返回结果-->调用默认回调函数

解决思路:
1.分析AR生成JS代码
2.分析Jquery类库源码(最开始设想用AjaxComplete事件直接修改返回JSON,后面发现AjaxComplete事件在success调用之后,所以就算修改了也没意义,这也可能是Jquery就是防止这种恶意行为 )

原则上通过分析如果后台“ExtendedErrorInfo”不返回数据,则会走默认的验证字符串(默认验证AR可以修改)

QQ截图20140912105601.png(74.01 K)

2014-9-12 11:02:28

修改为一个人性化的文字,没想到这么波折,希望AR产品组的人员再接再厉,希望后来者可以利用上;

 
 

修改ActiveReports验证文字“给不能为 null 的参数指定一个 null 值”的更多相关文章

  1. MySQL8 修改密码验证插件

    MySQL8 修改密码验证插件 查看当前用户使用的密码验证插件 mysql> show variables like '%auth%'; +--------------------------- ...

  2. Ionic3学习笔记(四)修改返回按钮文字、颜色

    本文为原创文章,转载请标明出处 目录 修改返回按钮文字 修改返回按钮颜色 1. 修改返回按钮文字 参考官网 Ionic API---Config 文档 可在 ./src/app/app.module. ...

  3. 转:修改shape的文字

    Sub 修改shape的文字()'' 修改shape的文字 宏' '    ActiveSheet.Shapes.Range(Array("Flowchart: Connector 193& ...

  4. CSS/Compass修改placeholder的文字样式

    在HTML5中,<input>与<textarea>标签支持placeholder属性,用来定义无任何输入时的默认文字. 可以通过CSS修改placeholder的文字样式: ...

  5. NULL指针引起的一个linux内核漏洞

    NULL指针一般都是应用于有效性检测的,其实这里面有一个约定俗成的规则,就是说无效指针并不一定是 NULL,只是为了简单起见,规则约定只要指针无效了就将之设置为NULL,结果就是NULL这个指针被用来 ...

  6. 为什么获取的System.Web.HttpContext.Current值为null,HttpContext对象为null时如何获取程序(站点)的根目录

    ASP.NET提供了静态属性System.Web.HttpContext.Current,因此获取HttpContext对象就非常方便了.也正是因为这个原因,所以我们经常能见到直接访问System.W ...

  7. null的坑 和 比较运算符、相等运算符的隐式转换问题 (在javascript中,null>=0 为真,null<=0 为真,null==0却为假,null到底是什么?)

    null在关系运算中的坑 & 关系运算符的隐式转换问题 注意: 比较运算符 和 相等运算符 的 ECMAscript 语法实现不同. 比较运算符 和 相等运算符 对数据进行了隐式转换, 相当于 ...

  8. SQL SERVER使用ODBC 驱动建立的链接服务器调用存储过程时参数不能为NULL值

    我们知道SQL SERVER建立链接服务器(Linked Server)可以选择的驱动程序非常多,最近发现使用ODBC 的 Microsoft OLE DB 驱动程序建立的链接服务器(Linked S ...

  9. EntityFramework:值不能为 null。参数名: entitySet 异常解决方案

    昨天EF莫名其妙的,掉所有接口访问都出现如下错误:百度,Google了半天,倒是有很多人都遇到了这个问题,但都没有一个解决方案,或者解决方案无效.通过层层排除,终于找到问题的所在.记录下来,给以后再遇 ...

随机推荐

  1. Linux网络编程---htons函数的使用

    htons是将整型变量从主机字节顺序转变成网络字节顺序, 就是整数在地址空间存储方式变为高位字节存放在内存的低地址处. htonl就是把本机字节顺序转化为网络字节顺序所谓网络字节顺序(大尾顺序)就是指 ...

  2. jmeter 常见问题汇总

    文件读取中文乱码: 读取CSV文件,出现中文乱码,纠正方式如下: txt文件乱码 在用到该变量的请求上加上UTF-8 post请求 返回“ Content type 'application/x-ww ...

  3. linux下一些常用系统命令

    查看系统打开的文件数 lsof|wc -l 查看当前目录下的文件数 find -type f | wc -l 查看某个目录下的文件数,注意这里/home包括其所有子目录 find /home -typ ...

  4. 20155333 2016-2017-2 《Java程序设计》第八周学习总结

    20155333 2016-2017-2 <Java程序设计>第八周学习总结 教材学习内容总结 认识NIO NIO(New IO)-from JDK1.4 Channel: 衔接数据节点( ...

  5. Tree Representation Implementation & Traversal

    https://github.com/Premiumlab/Python-for-Algorithms--Data-Structures--and-Interviews/blob/master/Tre ...

  6. SQLInjection 靶场配置

    对于渗透,太小型的网站没有太大价值,而大型网站(比如各种电商平台)对于代码审计往往非常严格,新手基本找不到漏洞,而一些比较容易搞掉的站点(政府.gov.各种教育网站.edu或者很多商业中型站点)渗透又 ...

  7. Django介绍(2)

    https://www.cnblogs.com/yuanchenqi/articles/5658455.html

  8. s28 LNMP架构服务搭建

    nginx-location使用 location语法 location使用的语法例子为: location [=|~|~*|^~] uri{ 对location语法列表说明. |1ocation | ...

  9. python面向对象-1方法、构造函数

    类是指:描述一种事物的定义,是个抽象的概念 实例指:该种事物的一个具体的个体,是具体的东西 打个比方: “人”是一个类.“张三”是人类的一个具体例子 在编程时也是同样的道理,你先自己定义一个“类”,当 ...

  10. web大文件上传(web应用---SSH框架)

    版权所有 2009-2018荆门泽优软件有限公司 保留所有权利 官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webapp/up6.2/in ...