zoukankan      html  css  js  c++  java
  • C# VS JS之readonly的区别

    C# VS JS之readonly的区别
    在javascript中如果定义了一个input的readonly(假使默认值为:Jumbot Is Pig),那么只是阻止了用户编辑这个文本框,而用户可以通过javascript给其赋值(如改为Jumbot Is Sheep),那么表单提交后(get和post),取到的值仍然是Jumbot Is Sheep

    然而,如果将服务器组件TextBox的Readonly属性改为True后,尽管你前台使用javascript改了它的值,提交后,获取到的Text仍然是之前的值...

    郁闷:折腾了我半天,记录下来,以示警戒!!

    PS:因为经常会在C#中使用ajax,然后对输入框的可读限制目的只是为了防止客户端用户输入,但还是允许程序自己通过javascript来赋值(如日期输入框,自动统计输入框),以前在ASP中不会遇到此问题,如今C#就不一样了。。。

    所以以后尽量使用
    Copy code
        protected void Page_Load(object sender, EventArgs e)
        {
            this.t1.Attributes.Add("readonly", "readonly");
        }


    而不使用

    Copy code
        protected void Page_Load(object sender, EventArgs e)
        {
            this.t1.ReadOnly = true;
        }



    这是MS为安全考虑的,但是仍然可以通过 Request.From[TextBox1.UinqueID]取得脚本设置的数据,
    如果ReadOnly=true的话,MS是使用记在ViewState的值
  • 相关阅读:
    linux命令整理
    各种提权姿势总结
    常用端口信息说明和利用
    近年来爆发的CVE漏洞编号
    一个优秀的SSH远程终端工具
    python-读写文件的方式
    kali安装ssh服务
    一套实用的渗透测试岗位面试题
    使用 python快速搭建http服务
    asciinema使用
  • 原文地址:https://www.cnblogs.com/wschacker/p/1230480.html
Copyright © 2011-2022 走看看