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里攻击的。
转载于:https://www.cnblogs.com/Hacker/archive/2004/07/27/27869.html
HTTP安全随想,第一指导原则:不要相信任何用户的输入[]相关推荐
- 【干货】原型设计的八大指导原则
产品原型设计没有你想象的那么难.实际上,相当容易.任何人都可以做原型.而且就像其他事情一样,熟能生巧.但这其中也有陷阱--搞砸原型设计也很容易. 我自己碰到.看到或者听到的大部分错误并不是因为选择了错 ...
- mysql小结果集驱动大结果集_具体优化查询语句的指导原则小结果集驱动大结果集避免子查询...
原标题:具体优化查询语句的指导原则小结果集驱动大结果集避免子查询 具体优化Query语句的指导原则 (1)多使用Profile:(2)永远用小结果集驱动大的结果集:(3)尽可能在索引中完成排序:(4) ...
- 社群活动——撬动用户参与意愿的7个指导原则
社群是一群人的集合,但是社群内的用户是不可控的因素,撬动用户有如下7个指导原则,希望对大家有所帮助. 1.物质激励 以直接的物质奖励刺激用户参与某个行动的意愿,比方说积分签到得奖励,可以设置30天.5 ...
- 【译学】数据分析手册学习01: 导言、学习目标、指导原则
数据分析手册翻译及读后感, 英文原版资料可下载:introduction to data analysis handbook 比较偏好直接学习英文原版资料,然后翻译中文,以及一些个人学习体会.实践放进 ...
- 设计抗混叠滤波器的三个指导原则--日记
我们知道,在高精度ADC应用中使用抗混叠滤波器是有益的,不过,设计合适的抗混叠滤波器也同样重要-如果你不小心的话,就像把有害误差从系统中消除一样,很容易将有害误差引入到你的系统中.在为你的应用设计抗混 ...
- 关于设计抗混叠滤波器的三个指导原则
我们知道,在高精度ADC应用中使用抗混叠滤波器是有益的,不过,设计合适的抗混叠滤波器也同样重要-如果你不小心的话,就像把有害误差从系统中消除一样,很容易将有害误差引入到你的系统中.在为你的应用设计抗混 ...
- 设计抗混叠滤波器的三大指导原则(转载)
原文地址:http://www.ednchina.com/ART_8800523945_28_19999_TA_f443c125.HTM?click_from=8800032061,995014874 ...
- 架构三要素:职责明确的模块或者组件、关联关系、约束和指导原则
架构三要素:职责明确的模块或者组件.关联关系.约束和指导原则 架构三要素: 职责明确的模块或者组件 组件间明确的关联关系 约束和指导原则 Linux 的创始人 Torvalds 有一段关于" ...
- 精通Web Analytics 2.0 (13) 第十一章:变身分析忍者的指导原则
精通Web Analytics 2.0 (13) 第十一章:变身分析忍者的指导原则 精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第十一章:变身分析忍者的指导原则 这个激动人 ...
最新文章
- GPU模拟猴子大脑,普通台式机变超算,英国大学研究登上Nature子刊
- docker 构建错误 E: List directory /var/lib/apt/lists/partial is missing.-Acquire (13: Permission denied)
- DevOps笔记-01:软件交付面临的问题、软件工程的三个发展阶段、什么是DevOps?
- 在 Windows 上直接运行 Linux,有命令行就是贼香
- easyui datagrid 表格组件列属性formatter和styler使用方法
- 理解Joomla!模板
- scss百分号操作符的一个使用例子
- 深入了解React组件重新渲染的条件和生命周期
- 两套苹果CMS付费模板:MXone自适应模板+仿电影先生2.0
- linux里gpl_GPL实施,ONOS与Linux Foundation合作以及更多新闻
- mac 切换鼠标滚轮方向
- UI干货素材分享|导航设计
- RESTful API 设计思考
- s3c2440中蜂鸣器的打开与关闭
- matlab 时间轴 绘图,时间轴制作超详细教程,助你轻松画出专业时间轴!
- matlab神经网络工具箱简介
- 怎么使用计算机操作鼠标,新手学电脑如何使用鼠标
- 图层蒙版和图层剪贴路径_PS蒙版解读:快速蒙版、图层蒙版、剪贴蒙版、矢量蒙版(二)...
- 2018西安邮电大学计算机学院,西安邮电大学计算机学院
- dell设置从ssd启动_戴尔笔记本加了固态硬盘后怎么设置从固态硬盘启动
热门文章
- R 梯度提升算法①
- 使用JavaScript生成二维码教程-附qrcodejs中文文档
- PHP与MYSQL数据库链接方法
- Swift3 数组复制
- python基础学习笔记第二天 内建方法(s t r)
- Laravel5.2之模型关联预加载
- bzoj1625[Usaco2007 Dec]宝石手镯*
- Syncthing vs BitTorrent Sync
- php管理nginx虚拟主机shell脚本
- filegee为啥没变动也更新_小米miui12中谷歌商店无法更新油管和下载Twitter的问题...