zoukankan      html  css  js  c++  java
  • HTTP安全随想,第一指导原则:不要相信任何用户的输入[]

    HTTP协议本身就是非常不可靠的,不要相信任何用户的输入,包括Server变量里面的任何东西,这是HTTP安全编程的第一个指导原则。

    看到有人问,如何防止站外提交Form,想法是好的,看起来答案是用HTTP_REFER这个变量,但是世界上,这个变量也是从HTTP Header里面REFER,用一个简单的socket程序,就可以自己随便构造一个HTTP Header, 所以用PHP,asp.net和Perl实现起来简单的很。在放到底一层的raw TCP编程上,连client的IP地址都可以随便骗你(IP欺骗,不过实现起来麻烦些)。

    所以,不要相信任何东西,如何在Client端验证过的东西,在服务器端必须要重新验证一次。抱着这个观点放在脑子里,写出来的程序会好一些。

    在所有接触过的语言中,ASP.Net中的验证控件设计的应该是最好的了,尤其是ASP.Net 2.0中的login 控件,实际上,绝大多数的漏洞都是从login里攻击的。

  • 相关阅读:
    常用的输出方法
    使用Action()和ActionLink()生成链接
    "??"运算符
    使用路由数据
    路由匹配总结
    routes.MapRoute()定义路由的要求
    控制器和视图数据传递小结
    跨请求数据传递TempData
    Redis安装创建
    JAVA获取当前时间加一天
  • 原文地址:https://www.cnblogs.com/Hacker/p/27869.html
Copyright © 2011-2022 走看看