zoukankan      html  css  js  c++  java
  • 第十三章 调试及安全性(In .net4.5) 之 验证程序输入

    1. 概述

      本章介绍验证程序输入的重要性以及各种验证方法:Parse、TryParse、Convert、正则表达式、JavaScriptSerializer、XML Schemas。

    2. 主要内容

      2.1 验证程序输入的重要性

        ① 正常用户的错误输入

        ② 恶意用户的攻击

        ③ 集成的其他系统的变动

      2.2 管理数据完整性

        ① 记录完整性:一般是数据库中的一条记录,需要用主键标记。

        ② 取值完整性:一个数据项所允许的数据范围。

        ③ 引用完整性:相关的记录项引用关系要保持完整。

        ④ 自定义的完整性:根据个性的业务逻辑自定义的数据完整性。

        *使用事务机制,可以更好的确保数据的完整性。

      2.3 使用 Parse、TryParse、Convert

        Parse 和 TryParse 用于将字符串类型转化为指定的类型。

    CulturalInfo english = new CulturalInfo("En");
    CulturalInfo dutch = new CulturalInfo("Nl");
    
    string value = "€19,95";
    decimal d = decimal.Parse(value, NumberStyles.Currency, dutch);
    Console.WriteLine(d.ToString(english)); // 19.95

        Convert用于在各个基类型之间转换。Convert允许null(返回默认值)。

    int i = Convert.ToInt32(null);
    Console.WriteLine(i); // displays 0

      2.4 使用正则表达式

    static bool ValidateZipCodeRegEx(string zipCode)
    {
        Match match = Regex.Match(zipCode, @"^[1-9][0-9]{4}s?[a-][A-Z]{2}$", RegexOptions.IgnoreCase);
        return match.Success;
    }

      2.5 验证 Json 和 Xml

    var serialization = new JavaScriptSerializer();
    var result = serialization.Deserialize<Dictionary<string, object>>(json);

    3. 总结

      ① 验证程序输入是避免被错误输入和恶意攻击击溃的重要措施。

      ② 程序和数据存储都需要考虑数据完整性。

      ③ Parse、TryParse 和 Convert 可以用来实现类型间转换。

      ④ 正则表达式 可以用指定的模式匹配输入信息,或者替换指定的内容。

      ⑤ 接收Json和Xml信息时,要用内建的类型JavaScriptSerializer和XML Schemas 来验证有效性。

  • 相关阅读:
    Oracle数据表解锁
    VS2008 新建网站时没有模板解决办法
    64位WIN2008中组件服务中的DCOM配置找不到Microsoft Excel应用程序的解决办法
    Log4Net Appender配置
    使用过滤器过滤asp.net mvc输出内容
    Html.DropDownList也能绑定数据
    iirf有时有效,有时返回404错误的解决方法
    Oracle优化AutoTrace输出内容的含义
    Oracle使用Sql把XML解析成表(Table)的方法
    文件跨系统ftp传输后无法还原了,哎
  • 原文地址:https://www.cnblogs.com/stone_lv/p/4378352.html
Copyright © 2011-2022 走看看