• ASP.NET之ViewState学习与联想


    本来是说通过一个工具打开网页链接,参数用了明文传递,这个应该加密处理;

    后来又说到,接口调用,也要对参数进行加密加盐处理,防篡改;

    再又说到了,WebForm的传输加密,哦,我前段时间处理过ViewState的加密解密。

    这是啥意思呢,我已经想当然的认为,ASP.NET下的WebForm控件相关传输,都是通过ViewState走的,但是这是个错误!

    我做了测试,页面放个文本框,放个按钮,页面第一次加载记录ViewState的hidden值;

    给文本框输入内容,点击按钮回发,再次记录ViewState的hidden值;

    结果两次ViewState的值是一样的!说明控件的值不是简单通过ViewState的传到后台的。

    而且,将ViewState的hidden值反序列后,也看不到控件相关值,但是如果在后台设置ViewState,对ViewState反序列化可以看到相关信息的。

     这里,前两个是XX、YYY的ViewState,存储的字符串,第三个ViewState存储的是DataTable数据 。

    找到个比较专业的帖子,放个链接,以备后续继续学习理解,有点长,不过确实研究的深入

    真正理解ASP.NET的ViewState (Truly Understanding ViewState)_vividboy的博客-CSDN博客icon-default.png?t=M666https://blog.csdn.net/vividboy/article/details/2069347这里我知道了TextBox的Text其实也是用了ViewState

    而且好几个控件即便禁用了ViewState,回发控件值也是丢不了的,但是label控件,禁用了ViewState,回发控件值就丢了(通过F12修改)

    在上篇已经写过了,ViewState是可以加密的,这样保证后台数据是安全的,但是前端(不在ViewState)也不是前后分离方式调用调用ajax的情况,即直接是提交整个页面给后台的情况,怎么进行加密的呢?

    这块还没想明白。

    在提交之前,对所有数据进行加密,然后后端解密?想起来,之前做系统登录的时候,针对密码字段这么处理过。

    当然尽量不改代码,从底层调整最佳。

    先把目前情况做个记录。

    越来越感觉,学到的只是皮毛,还得静下心来多学习、多研究,路漫漫。

  • 相关阅读:
    互联网Java工程师面试题·Java 总结篇·第十弹
    SpringCloud 学习(一)---- 微服务的概念
    SQL注入攻击课程设计
    DOM
    数据库update(动态更新)-SqlServer
    45、tomcat+课后实验
    淘宝关键词API接口
    GET和POST的区别
    5G 速率介绍
    泰凌微蓝牙 HCI层事件的注册和使用
  • 原文地址:https://blog.csdn.net/ewqewqqwe/article/details/126053259