求助各位大佬如何有效防止JSON注入

java-小学生 2018-06-26 04:22:08
项目安全测试提出的问题,前端用户填写参数时,写入特殊字符例如:“/\[]""”各种,会造成后台接受数据错乱,或者更严重的错误,请教各位大神,如何有效避免此类情况出现。不能只前端禁止输入,因为有可能被人拼接请求参数,恶意造成程序错误,所以小弟请求一个后端解决办法
...全文
865 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
maradona1984 2018-06-27
  • 打赏
  • 举报
回复
引用 6 楼 yitian_66 的回复:
[quote=引用 4 楼 stacksoverflow 的回复:]
先把json转化成对象,如果转对象过程出错,则进入错误处理,如果成功,再检查对象的字段是否合法。

可行[/quote]
框架把json转对象和你自己写代码转有啥区别,不还是会报错?这样做能解决问题?完全不能,但能应付项目安全测试
这样做的目的是什么,不做有什么坏处?做了有什么好处?这样做能达到效果么?我觉得应该先问自己这几个问题,再考虑解决方案
java-小学生 2018-06-27
  • 打赏
  • 举报
回复
引用 4 楼 stacksoverflow 的回复:
先把json转化成对象,如果转对象过程出错,则进入错误处理,如果成功,再检查对象的字段是否合法。

可行
java-小学生 2018-06-27
  • 打赏
  • 举报
回复
引用 3 楼 maradona1984 的回复:
多次访问出错就禁止访问即可,json没有问题也有的是足够办法让你程序报错,你根本防不了

尽最大可能防住吧
java-小学生 2018-06-27
  • 打赏
  • 举报
回复
引用 9 楼 maradona1984 的回复:
[quote=引用 8 楼 yitian_66 的回复:]
[quote=引用 7 楼 maradona1984 的回复:]
[quote=引用 6 楼 yitian_66 的回复:]
[quote=引用 4 楼 stacksoverflow 的回复:]
先把json转化成对象,如果转对象过程出错,则进入错误处理,如果成功,再检查对象的字段是否合法。

可行[/quote]
框架把json转对象和你自己写代码转有啥区别,不还是会报错?这样做能解决问题?完全不能,但能应付项目安全测试
这样做的目的是什么,不做有什么坏处?做了有什么好处?这样做能达到效果么?我觉得应该先问自己这几个问题,再考虑解决方案[/quote]
自己写代码转怎么转?难道一个个截取拼接,然后try catch。这个和框架转报错有什么区别?[/quote]
没区别,所以没解决问题,我的观点这种问题完全不需要去处理嘛[/quote]
程序员苦啊,有苦说不出,人家让干啥干啥
maradona1984 2018-06-27
  • 打赏
  • 举报
回复
引用 8 楼 yitian_66 的回复:
[quote=引用 7 楼 maradona1984 的回复:]
[quote=引用 6 楼 yitian_66 的回复:]
[quote=引用 4 楼 stacksoverflow 的回复:]
先把json转化成对象,如果转对象过程出错,则进入错误处理,如果成功,再检查对象的字段是否合法。

可行[/quote]
框架把json转对象和你自己写代码转有啥区别,不还是会报错?这样做能解决问题?完全不能,但能应付项目安全测试
这样做的目的是什么,不做有什么坏处?做了有什么好处?这样做能达到效果么?我觉得应该先问自己这几个问题,再考虑解决方案[/quote]
自己写代码转怎么转?难道一个个截取拼接,然后try catch。这个和框架转报错有什么区别?[/quote]
没区别,所以没解决问题,我的观点这种问题完全不需要去处理嘛
java-小学生 2018-06-27
  • 打赏
  • 举报
回复
引用 7 楼 maradona1984 的回复:
[quote=引用 6 楼 yitian_66 的回复:]
[quote=引用 4 楼 stacksoverflow 的回复:]
先把json转化成对象,如果转对象过程出错,则进入错误处理,如果成功,再检查对象的字段是否合法。

可行[/quote]
框架把json转对象和你自己写代码转有啥区别,不还是会报错?这样做能解决问题?完全不能,但能应付项目安全测试
这样做的目的是什么,不做有什么坏处?做了有什么好处?这样做能达到效果么?我觉得应该先问自己这几个问题,再考虑解决方案[/quote]
自己写代码转怎么转?难道一个个截取拼接,然后try catch。这个和框架转报错有什么区别?
stacksoverflow 2018-06-26
  • 打赏
  • 举报
回复
先把json转化成对象,如果转对象过程出错,则进入错误处理,如果成功,再检查对象的字段是否合法。
maradona1984 2018-06-26
  • 打赏
  • 举报
回复
多次访问出错就禁止访问即可,json没有问题也有的是足够办法让你程序报错,你根本防不了
java-小学生 2018-06-26
  • 打赏
  • 举报
回复
引用 1 楼 oyljerry 的回复:
后台先对字符串做一些格式检查,网上找一些pattern

前端传过来的是json字符串,本身就有“”。如何正确获取参数?还有就是如何剔除非法字符。还请大佬详解
oyljerry 2018-06-26
  • 打赏
  • 举报
回复
后台先对字符串做一些格式检查,网上找一些pattern

51,396

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧