zoukankan      html  css  js  c++  java
  • 不要相信客户端的输入

    同步自atpking.com

    很难理解这句话原来这么牛X

    今天看书的时候,举了一个不错的例子

    <select  name="city" >
        <option value='Chicago'>芝加哥</option>
        <option value='NewYork'>扭腰</option>
        <option value='Peking'>帝都</option>
    </select>

    看起来  在form读取的时候

    form[city] 最多会有 Chicago Newyork或 Peking 三个值

    但是,

    不幸的是,html传输的时候全靠get & post

    此处如果有伪造post提交

    比如  form city  ==> Chicago;delete from users     

    那就会被爽歪歪了

    当然,当你使用微软的dropdownlsit 的时候会神奇般的避免这种被注入的风险

    因为微软已经在viewstate 中记录了select 的值,在后台上使用的

    dropdownlist.SelectedValue 是需要对比之前的viewstate,若此时出现的值没有在viewstate记录中出现

    他会毫不犹豫的抛出异常

    最后扯淡一会,其他技术总是让你弄清楚风险,而微软的技术大多都是让你生活在温室之中,很难说谁好谁坏。另附,微软声明不会退出中国市场。

    800px-Microsoft_Sign_on_German_campus

  • 相关阅读:
    链表的头指针
    顺时针打印矩阵
    旋转数组的最小数字
    实现string类
    最长对称子串
    DFS和BFS
    最长公共子序列
    排序算法
    大端与小端
    交换两个数
  • 原文地址:https://www.cnblogs.com/jicheng1014/p/1648580.html
Copyright © 2011-2022 走看看