>

即采纳了,Get诉求与Post需要的分别

- 编辑:金沙国际平台登录 -

即采纳了,Get诉求与Post需要的分别

即选拔了 https 也并不是通过 query strings 传敏感数据

2017/10/16 · 基本功技艺 · HTTPS

本文由 伯乐在线 - xiaoheike 翻译,艾凌风 校稿。未经许可,禁止转发!
西班牙语出处:HttpWatch。迎接出席翻译组。

服务器端的 log 将公开记下完整 url;浏览器上的访谈历史也会公然记下完整 url;Referrer headers 里也忠实记下全体 url,然后在外人家的 谷歌(Google)Analytics 上出示。

我们平日听到的一个广阔难题是:“URL 中的参数是或不是能够安全地传递到平安网址?”那几个主题素材平日现身在客商看了 HttpWatch 捕获的 HTTPS 央浼后,想清楚还会有哪个人能够看看这个多少。

 

譬如说,假诺在一个查询中,使用如下安全的 URL 传递密码字符串:

HttpWatch 能够显得安全央求的剧情,因为它与浏览器集成,由此它亦可在 HTTPS 请求的 SSL 连接对数据加密在此以前查看数据。图片 1

假若你利用互联网嗅探器查看,举例 Network Monitor,对于同三个伸手,你只可以够查阅加密事后的多少。在数据包追踪中尚无可知的网站,标题或内容:

图片 2

你可以信任 HTTPS 央求是高枕而卧的,只要:

  • 未忽略任何SSL证书警告
  • Web 服务器用于运行 SSL 连接的私钥在 Web 服务器自己之外不可用。

所以,在网络范围,URL 参数是平安的,但是还恐怕有部分任何依据 URL 泄漏数据的章程:

  1. URL 存款和储蓄在 Web 服务器日志中–常常各个央浼的欧洲经济共同体 URL 都被贮存在服务器日志中。那意味着 URL 中的任何敏感数据(举例密码)会以公开形式保留在服务器上。以下是行使查询字符串通过 HTTPS 发送密码时存款和储蓄在 httpwatch.com 服务器日志中的条款: **二零零六-02-20 10:18:27 W3SVC4326 WWW 208.101.31.210 GET /Default.htm password=mypassword 443 … 平日以为即便是在服务器上,积累明文密码平素都不是好主张 2.URLs are stored in the browser history – browsers save URL parameters in their history even if the secure pages themselves are not cached. Here’s the IE history displaying the URL parameter:
  2. URL 存款和储蓄在浏览器历史记录中–纵然安全网页自个儿未缓存,浏览器也会将 URL 参数保存在其历史记录中。以下是 IE 的历史记录,呈现了 URL 的须要参数:图片 3

假设顾客创设书签,查询字符串参数也将被积存。

  1. URLReferrer 恳求头中被传送–假若多少个安全网页使用财富,举例 javascript,图片可能分析服务,URL 将通过 Referrer 央浼头传递到每三个放权对象。临时,查询字符串参数恐怕被传送并寄放在第三方站点。在 HttpWatch 中,你能够看出大家的密码字符串正被发送到 Google Analytics图片 4

结论

涸泽而渔那么些难点亟待两步:

  • 独有在相对少不了的境况下传递敏感数据。一旦顾客被验证,最佳使用全部有限生命周期的会话 ID 来标志它们。

动用会话层级的 cookies 传递音信的优点是:

  • 它们不会积攒在浏览器历史记录中或磁盘上
  • 它们平常不存款和储蓄在服务器日志中
  • 它们不会传送到嵌入式能源,比如图片或 JavaScript
  • 它们仅适用于伏乞它们的域和路径

以下是我们的在线公司中,用于识别顾客的 ASP.NET 会话 cookie 示例:

图片 5

请注意,cookie 被限制在域 store.httpwatch.com,并且在浏览器会话停止时过期(即不会累积到磁盘)。

您本来能够经过 HTTPS 传递查询字符串,但是不要在也许出现安全难题的现象下行使。比如,你能够安全的接纳它们展现部分数字如故项目,像 accountview 或者 printpage,不过不用接纳它们传递密码,信用卡号码大概另外不应有公开的音讯。

1 赞 收藏 评论

转载自

有关作者:xiaoheike

图片 6

简要介绍还没来得及写 :) 个人主页 · 我的小说 · 10 ·      

图片 7

Get是向服务器发索取多少的一种央浼,而Post是向服务器交由数据的一种央浼;

Get是获撤消息,并不是修改新闻,类似数据库查询成效雷同,数据不会被修改;

Get需要的参数会跟在url后进行传递,央浼的数据会附在UHighlanderL之后,以?分割U库罗德L和传输数据,参数之间以&相连,%XX中的XX为该符号以16进制表示的ASCII,倘若数量是印度语印尼语字母/数字,原样发送,即便是空格,调换为+,假如是华语/其余字符,则一贯把字符串用BASE64加密。

Get传输的数码有大大小小限制,因为GET是经过U昂CoraL提交数据,那么GET可提交的数据量就跟UPAJEROL的长度有直接关乎了,不一样的浏览器对U宝马7系L的尺寸的限定是例外的。

GET需要的多少会被浏览器缓存起来,顾客名和密码将公开出现在UHavalL上,其余人能够查到历史浏览记录,数据不太安全。在劳动器端,用Request.QueryString来猎取Get形式提交来的数量;

Post乞请则作为http音讯的骨子里内容发送给web服务器,数据放置在HTML Header内提交,Post没有限制提交的数目。Post比Get安全,当数码是华语也许不灵活的数码,则用get,因为使用get,参数会来得在位置,对于灵动数据和不是中文字符的多少,则用post;

string name=Context.Request.QueryString["name"]

POST表示可能修改造服务器上的财富的央浼,在劳务器端,用Post情势提交的数额只好用Request.Form来获取.

string name=context.Request.Form["pwd"];

本文由首页发布,转载请注明来源:即采纳了,Get诉求与Post需要的分别