永利402com官方网站也毫不通过,Get请求与Post请求的界别

永利402com官方网站 7
永利402com官方网站

即利用了 https 也休想通过 query strings 传敏感数据

2017/10/16 · 基础才能 ·
HTTPS

本文由 伯乐在线 –
xiaoheike
翻译,艾凌风
校稿。未经许可,禁止转载!
英文出处:HttpWatch。应接插足翻译组。

服务器端的 log 将公开记下完整 url;浏览器上的走访历史也会当着记下完整
url;Referrer headers 里也忠实记下完整 url,然后在外人家的 谷歌Analytics 上显得。

咱俩平日听到的1个布满问题是:“URL
中的参数是或不是足以安枕而卧地传递到安全网址?”这一个难题平时出今后客户看了
HttpWatch 捕获的 HTTPS 请求后,想知道还有什么人能够看看那个数量。

 

譬如,若是在3个询问中,使用如下安全的 URL 传递密码字符串:

HttpWatch 能够显示安全请求的始末,因为它与浏览器集成,由此它亦可在
HTTPS 请求的 SSL
连接对数据加密在此以前查看数据。永利402com官方网站 1

1旦你选用网络嗅探器查看,举个例子
Network Monitor,对于同二个请求,你只好查阅加密事后的数额。在数码包追踪中并未有可知的网站,标题或内容:

永利402com官方网站 2

你能够信任 HTTPS 请求是安全的,只要:

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

故此,在网络范围,URL 参数是平安的,但是还有1部分任何根据 URL
泄漏数据的艺术:

  1. URL 存款和储蓄在 Web 服务器日志中–日常每一种请求的全体 URL
    都被寄放在服务器日志中。那意味 URL
    中的任何敏感数据(比如密码)会以公开情势保留在服务器上。以下是选择查询字符串通过
    HTTPS 发送密码时存款和储蓄在 httpwatch.com 服务器日志中的条约:
    **二〇〇九-0二-20 十:18:二七 W三SVC43②6 WWW 20八.拾1.3壹.2⑩ GET
    /Default.htm password=mypassword 4四叁 …
    经常以为纵然是在服务器上,存储明文密码平昔都不是好主见
    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
    的伏乞参数:永利402com官方网站 3

设若用户成立书签,查询字符串参数也将被贮存。

  1. URLReferrer 请求头中被传送–如若三个安然无恙网页使用财富,举例
    javascript,图片也许分析服务,URL 将通过 Referrer
    请求头传递到每叁个内置对象。有时,查询字符串参数可能被传送并存放在第3方站点。在
    HttpWatch 中,你能够见见大家的密码字符串正被发送到
    Google Analytics永利402com官方网站 4

结论

消除那些标题亟需两步:

  • 唯有在相对少不了的状态下传递敏感数据。1旦用户被证实,最佳使用具备有限生命周期的会话
    ID 来标记它们。

行使会话层级的 cookies 传递音讯的长处是:

  • 它们不会蕴藏在浏览器历史记录中或磁盘上
  • 它们平常不存款和储蓄在服务器日志中
  • 它们不会传递到嵌入式能源,举例图片或 JavaScript
  • 它们仅适用于请求它们的域和路线

以下是我们的在线商城中,用于识别用户的 ASP.NET 会话 cookie 示例:

永利402com官方网站 5

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

您本来可以通过 HTTPS
传递查询字符串,但是不用在大概出现安全主题素材的情景下使用。举例,你能够安枕无忧的应用它们显示部分数字或然项目,像
accountview 或者
printpage,可是并非使用它们传递密码,信用卡号码恐怕别的不该公开的新闻。

1 赞 收藏
评论

转载自

关于作者:xiaoheike

永利402com官方网站 6

简介还没赶趟写 :)
个人主页 ·
小编的文章 ·
10 ·
     

永利402com官方网站 7

Get是向服务器发索取多少的1种请求,而Post是向服务器交由数据的1种请求;

Get是获取音讯,而不是修改信息,类似数据库查询功用雷同,数据不会被涂改;

Get请求的参数会跟在url后展开传递,请求的数额会附在UCRUISERL之后,以?分割UBMWX五L和传输数据,参数之间以&相连,%XX中的XX为该符号以1陆进制表示的ASCII,倘若数据是英文字母/数字,原样发送,要是是空格,转变为+,假若是汉语/别的字符,则一向把字符串用BASE6四加密。

Get传输的数据有高低限制,因为GET是由此UPAJEROL提交数据,那么GET可交付的数据量就跟ULacrosseL的长短有直接涉及了,差异的浏览器对U景逸SUVL的长度的限定是区别的。

GET请求的数量会被浏览器缓存起来,用户名和密码将公开出现在URAV四L上,别的人能够查到历史浏览记录,数据不太安全。在劳务器端,用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”];

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图