同步自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记录中出现

他会毫不犹豫的抛出异常

 

 

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

 

不要相信客户端的输入

相关文章:

  • 2021-07-15
  • 2021-09-27
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-25
  • 2021-07-29
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-16
  • 2021-07-27
  • 2021-07-07
  • 2022-01-05
  • 2022-12-23
相关资源
相似解决方案