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里攻击的。

转载于:https://www.cnblogs.com/Hacker/archive/2004/07/27/27869.html

HTTP安全随想,第一指导原则:不要相信任何用户的输入[]相关推荐

  1. 【干货】原型设计的八大指导原则

    产品原型设计没有你想象的那么难.实际上,相当容易.任何人都可以做原型.而且就像其他事情一样,熟能生巧.但这其中也有陷阱--搞砸原型设计也很容易. 我自己碰到.看到或者听到的大部分错误并不是因为选择了错 ...

  2. mysql小结果集驱动大结果集_具体优化查询语句的指导原则小结果集驱动大结果集避免子查询...

    原标题:具体优化查询语句的指导原则小结果集驱动大结果集避免子查询 具体优化Query语句的指导原则 (1)多使用Profile:(2)永远用小结果集驱动大的结果集:(3)尽可能在索引中完成排序:(4) ...

  3. 社群活动——撬动用户参与意愿的7个指导原则

    社群是一群人的集合,但是社群内的用户是不可控的因素,撬动用户有如下7个指导原则,希望对大家有所帮助. 1.物质激励 以直接的物质奖励刺激用户参与某个行动的意愿,比方说积分签到得奖励,可以设置30天.5 ...

  4. 【译学】数据分析手册学习01: 导言、学习目标、指导原则

    数据分析手册翻译及读后感, 英文原版资料可下载:introduction to data analysis handbook 比较偏好直接学习英文原版资料,然后翻译中文,以及一些个人学习体会.实践放进 ...

  5. 设计抗混叠滤波器的三个指导原则--日记

    我们知道,在高精度ADC应用中使用抗混叠滤波器是有益的,不过,设计合适的抗混叠滤波器也同样重要-如果你不小心的话,就像把有害误差从系统中消除一样,很容易将有害误差引入到你的系统中.在为你的应用设计抗混 ...

  6. 关于设计抗混叠滤波器的三个指导原则

    我们知道,在高精度ADC应用中使用抗混叠滤波器是有益的,不过,设计合适的抗混叠滤波器也同样重要-如果你不小心的话,就像把有害误差从系统中消除一样,很容易将有害误差引入到你的系统中.在为你的应用设计抗混 ...

  7. 设计抗混叠滤波器的三大指导原则(转载)

    原文地址:http://www.ednchina.com/ART_8800523945_28_19999_TA_f443c125.HTM?click_from=8800032061,995014874 ...

  8. 架构三要素:职责明确的模块或者组件、关联关系、约束和指导原则

    架构三要素:职责明确的模块或者组件.关联关系.约束和指导原则 架构三要素: 职责明确的模块或者组件 组件间明确的关联关系 约束和指导原则 Linux 的创始人 Torvalds 有一段关于" ...

  9. 精通Web Analytics 2.0 (13) 第十一章:变身分析忍者的指导原则

    精通Web Analytics 2.0 (13) 第十一章:变身分析忍者的指导原则 精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第十一章:变身分析忍者的指导原则 这个激动人 ...

最新文章

  1. GPU模拟猴子大脑,普通台式机变超算,英国大学研究登上Nature子刊
  2. docker 构建错误 E: List directory /var/lib/apt/lists/partial is missing.-Acquire (13: Permission denied)
  3. DevOps笔记-01:软件交付面临的问题、软件工程的三个发展阶段、什么是DevOps?
  4. 在 Windows 上直接运行 Linux,有命令行就是贼香
  5. easyui datagrid 表格组件列属性formatter和styler使用方法
  6. 理解Joomla!模板
  7. scss百分号操作符的一个使用例子
  8. 深入了解React组件重新渲染的条件和生命周期
  9. 两套苹果CMS付费模板:MXone自适应模板+仿电影先生2.0
  10. linux里gpl_GPL实施,ONOS与Linux Foundation合作以及更多新闻
  11. mac 切换鼠标滚轮方向
  12. UI干货素材分享|导航设计
  13. RESTful API 设计思考
  14. s3c2440中蜂鸣器的打开与关闭
  15. matlab 时间轴 绘图,时间轴制作超详细教程,助你轻松画出专业时间轴!
  16. matlab神经网络工具箱简介
  17. 怎么使用计算机操作鼠标,新手学电脑如何使用鼠标
  18. 图层蒙版和图层剪贴路径_PS蒙版解读:快速蒙版、图层蒙版、剪贴蒙版、矢量蒙版(二)...
  19. 2018西安邮电大学计算机学院,西安邮电大学计算机学院
  20. dell设置从ssd启动_戴尔笔记本加了固态硬盘后怎么设置从固态硬盘启动

热门文章

  1. R 梯度提升算法①
  2. 使用JavaScript生成二维码教程-附qrcodejs中文文档
  3. PHP与MYSQL数据库链接方法
  4. Swift3 数组复制
  5. python基础学习笔记第二天 内建方法(s t r)
  6. Laravel5.2之模型关联预加载
  7. bzoj1625[Usaco2007 Dec]宝石手镯*
  8. Syncthing vs BitTorrent Sync
  9. php管理nginx虚拟主机shell脚本
  10. filegee为啥没变动也更新_小米miui12中谷歌商店无法更新油管和下载Twitter的问题...