Percy

Stay Hungry Stay Foolish


  • 首页

  • 归档

  • 标签

  • 关于
Percy

IP地址,子网掩码,主机地址,和网络地址

发表于 2017-04-04 | 分类于 计算机网络 |

IP地址的构成

IP地址可以分解为由 网络地址+主机地址 组成.
例如: 192.168.1.1, 可以看成由192.168.1.0(网络地址) + 0.0.0.1(主机地址)组成.
我们常说的内网机器互相通信, 其实说的就是网络地址一样的机器之间的通信.

所以简单的根据IP地址是无法看出两个地址是否能通信的, 需要计算出IP对应的网络地址才行. 而计算出网络地址需要用到子网掩码的, 具体方法是

1
将IP地址和子网掩码转换成二进制, 再进行与运算,再将与运算的结果变成十进制,即可得出对应的网络地址

举例:
1号机的IP地址为192.168.0.1 ,子网掩码为255.255.255.192; 2号机的IP地址为192.168.0.200, 子网掩码为255.255.255.192. 现在想知道1,2号机能否正常通信, 根据上面的公式,计算如下:

1
2
3
4
5
6
7
8
9
10
11
1号机:
192.168.0.1 ••••••••••••• 11000000.10101000.00000000.00000001
255.255.255.192 ••••••••• 11111111.11111111.11111111.11000000
与运算----------------------------------------------------------------
网络地址: 192.168.0.0 ••••••••••••• 11000000.10101000.00000000.00000000
*********************************分割线*******************************
2号机:
192.168.0.200 ••••••••••• 11000000.10101000.00000000.11001000
255.255.255.192 ••••••••• 11111111.11111111.11111111.11000000
与运算----------------------------------------------------------------
网络地址: 192.168.0.192 ••••••••••• 11000000.10101000.00000000.11000000

1号机的网络地址为192.168.0.0与2号机的192.168.0.192不一样,所以1号机和2号机互相不通。

Percy

深入理解cookie在http请求中的工作方式

发表于 2017-03-12 | 分类于 tech |

首先回顾下cookie和session的工作方式.

session id是B/S架构中, 用来维持会话状态的通信密匙,在PHP的配置中这个密匙默认的名字是: PHPSESSID, 当然你可以根据自己的喜好改成你喜欢的名字, 例如百度改成了BIDUPSID,

以百度https://www.baidu.com/ 为例, 用户第一次访问www.baidu.com的时候,

由于请求头(Request Header)的cookie中没有带BIDUPSID, 百度的服务器就会认为这是一个新的会话,

会在服务端给这次会话生成一个唯一标识的session id, (如果具体在PHP代码里,就是session_start()这个函数),同时会在http请求的Response Header 中将这个session id带给浏览器.(这其实是在告诉浏览器,你保存好这个密匙, 下次你来找我的时候,请带上这个钥匙, 这样我就还认识你.) 反应在请求的response header里,就是下面这行:

1
Set-Cookie:BIDUPSID=D5C1249DB29F3D68F9D36E64210; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com

这个session id就是key=BIDUPSID, value=D5C1249DB59C429F3D68F9D36E642E90这样一个结构, (此时,在百度的服务器端会生成以value命名的一个文件,用于记录这个用户的访问信息.)

此时http请求response之后, 浏览器请求接收到response中的Set-Cookie命令之后,就会在浏览器中设置cookie值BIDUPSID=D5C1249DB59C429F3D68F9D36E642E90, 并在以后请求*.baidu.com这类域名时都带上这个cookie值, 即Request Header中带上

1
cookie: BIDUPSID=D5C1249DB59C429F3D68F9D36E642E90

这样服务器就可以通过这个密匙来辨别请求来自哪个用户, 应用到实际中, 即可以作为记住登录状态之用.

如何操作cookie

  1. 如何删除cookie?

    首先明确, Server(服务器)和client(浏览器)都可以操作cookie

    • Server端删除cookie. cookie存在于客户端, server端是无法直接对cookie值进行删除的. 服务器端删除cookie, 可以通过如下的函数设置. 实现原理是通过在请求的返回头中设置cookie的过期时间来达到让浏览器清除cookie的效果.

      1
      setcookie("user_id","", time()-86400*7, "/", '.domain.com');

      这个函数,会让http请求的返回头中带上

      1
      Set-Cookie:user_id=111112222; expires=Wed, 01-Mar-2017 08:50:52 GMT; Max-Age=-604800; path=/; domain=.ganji.com

      这样这样一个参数, 表示的就是让浏览器设置user_id这个cookie过期.

    • 浏览器端删除cookie就简单了,直接用JavaScript操作cookie过期即可 .
  2. cookie的正确使用姿势?
    • 在每次http请求中, 存储在cookie中的数据都被带上, 因此什么都往cookie存的话,无疑增加了网络开销. 所以在cookie之后又出现了localstorage专门用于存储. 而cookie则是用于存放服务端和客户端交互用到的数据, 例如session id这类身份认证等信息, 可以减少每次重复认证的操作, 是应该放在cookie里. 但是一些不是每次都需要发送给服务器的数据, 就不应该放在cookie里, 而是放在localstorage里. 当然在localstorage出现之前, cookie一度被滥用, 当做浏览器存储信息的工具了
  3. 生产环境中如何合理的生成cookie?

    • 生成cookie可以在浏览器也可以在服务器生成. 什么样的方式才是正确的呢
      这个得看使用场景来决定, 例如PHPSESSION这类密匙性质的cookie, 是应该在服务端生成. 一些其它的值, 例如某网站需要生成一个唯一标示用户的字符串又不涉及到安全的,这种则可以放在客户端利用JavaScript代码生成的, 这样可以节省请求中的网络消耗
Percy

我是如何将黑中介告上法庭的

发表于 2016-10-27 | 分类于 教程 |

你也许注意到我把这篇文章归类到”教程”目录下了,没错,这就是一篇教你如何诉讼/打官司的入门教程.

事情的起因是这样的,Percy租的房子2016年11月7日到期,最后一个季度的房租交给中介之后,黑心中介没有再往上级的房东交租,期间房子停水,还被贴”赶紧搬离”,”房租到期”等告示.跟中介交涉无果,租金/押金也不退.收集证据之后,percy将黑中介告上法庭.下面说一下从准备材料到开庭都经历了哪些步骤.

查阅法律资料

首先你得确认黑中介的行为是否违法/违规了.

作为工科学校毕业的理科生,percy的学校甚至连法律专业都没有.但是没关系,网上有丰富的知识和资源.

  • 咨询律师
    percy首先在网上关键字搜索了类似案件,并找到几个律师的邮件,将问题描述清楚,写邮件给律师咨询.最终得到了两个律师的回复,他们的观点是:可以收集证据,起诉.得到律师的肯定这更加坚定了percy起诉中介的信心.(也可以直接去市面上的律师事务所找律师咨询,当然去店里咨询这种一般是收费的. )

  • 咨询法庭
    我所在的地区归属昌平区人民法院附属东小口法庭管辖,于是我搜索了相关资料,并找到了东小口法庭的微博,并私信咨询了几个问题,对方非常耐心的回答了我的几个问题.例如:起诉书格式要求,是否可以网上立案等.

收集证据

说做就做,决定起诉之后,我开始收集证据,针对这个案件,我的证据包括:

  • 租房合同原件一份
  • 中介断租证明一份(大房东提供的拍照复印件)
  • 被张贴的断租请搬离告示复印件一份
  • 交房租记录复印件一份(我用的是微信转账截图复印件,法庭上法官甚至直接叫我出示了手机上的转账流水界面,害得我找半天)

递交诉状

  • 证据收集好之后,9月18日晚我开始着手写诉状.之前已经咨询了所辖区域内的东小口法庭,诉状无格式要求,只要言之有理,并且有证据论点来支撑你的诉讼请求即可.连夜写完了诉状并且打印了诉状. 同时备好了证据+诉状的复印件,用文件夹分类收集好放在双肩包.
  • 第二天一早(9月19日)在9点左右到达法庭,正好赶上他们上班,发现来法庭办事的人不是很多.跟收诉状的法庭工作人员讲述了我的来意之后,把我的诉状和证据依次递交给他,他审阅了大约两分钟诉状,说:”可以,你去把资料再多复印一份回来交给我就行”.心中暗喜,没想到这么顺利.复印回来交完之后,我问工作人员是不是立案了,他说还有法庭审阅的流程,叫我回去等消息.至此,诉状已经成功递交法庭.

    我的诉状,仅供参考:诉状demo

交诉讼费,正式立案.

  • 9月26日(周一)大早上,收到法庭的座机打来的电话,说我的案子已经正式立案,叫我在这几天内去法庭缴纳诉讼费.
  • 9月27日,再次前往法庭,工作人员给我一张名为北京市昌平区人民法院诉讼费交款通知书的纸条,并告诉我到农业银行缴费.

—-吐槽开始—-

对!不是直接缴费给法庭,而且交给农业银行!这里需要吐槽,那天刮着大风,农行在两公里开外,真是一个打车划不来,走路又太远的尴尬距离!!在移动支付如此发达的今天,路边卖煎饼果子的阿姨都会用微信/支付宝收款了,堂堂人民法庭却还在采取这种原始的收款方式,实在是很不方便.

—-吐槽完毕—-
从农行缴费完拿收据回来递交给法庭.正式立案.

我顺便问了他们什么时候开始邮寄传票给被告,他们告诉我,应该在十一之后了.我问他们要是被告不接收传票怎么办,他们回答我”那再说”.至今没思考出来这种情况法庭会怎么处理..

ps:我诉状写的诉讼金额是4600元,本次诉讼费是25元,网上搜了下是按照诉讼金额计算的,当时觉得好便宜..[dog].另外网上看到最近很火的王宝强马蓉案诉讼费高达20多万元,网友推算出涉案金额约为一个亿.

被告收到法院传票

10月10日,再次接到法庭电话,说被告已经去法庭领了传票,问我现在是否有时间来取传票,我说现在在上班不方便,她说那我给你发一个电子的传票吧,我说好.于是留了邮箱,一会儿收到了电子传票.传票上写:2016年10月26日开庭.

传票长什么样

被告打电话要求和解

10月19日下午,接到被告打来的电话,bilibili了好久,最终说要私了,但是只愿意支付一半的钱,我没有同意,留了一句:”那法庭见吧”.
一方面他给的太少我不愿意,另一方面,事情都发展到这一步了,我有点小私心,想去法庭看看到底法庭长什么样.是不是法庭上的人都是三头六臂一样的存在

为开庭做最后的准备

开庭前一晚准备法庭诉词.复习了诉状,再次捋清自己的诉讼点,证据.以及思考明天被告会使出什么样的狡猾套路,我应该用怎样的说辞.然后我把能想到的被告会找出来反驳我的地方和我怎么应付,都打印出来了,放在一张A4纸上.(其实我开庭前几天脑子里就一直在构思被告会怎么狡辩.)

另外我也一直在构思法庭上自己的言行举止,怎样才能显得老练一点,淡定一点,不出丑.
我也在脑补现实生活的法庭究竟是什么样的,是不是电视上那种呢?

开庭

被告迟到

10月26日早起,打车去法庭,车上最后一遍扫一眼诉状和昨晚准备的说辞.说实话那一刻我真有一种上学的时候备考的感觉.
上午9点,书记员带我进入法庭.
然后书记员告诉我被告迟到了,说已经打电话催了,我说要等多久,书记员说最多20分钟.

庭审开始

20分钟之后被告还是没来.法官没有再等了,敲了那个小锤子,说:”开庭!”.
然后就开始走开庭审理的正式流程,一开始法官问了一些法庭开庭的套话,其中好几个我都没怎么听清楚,只好默认回答”是,嗯”.
后来才发现,桌子上的电脑,是同步这些问题的.书记员同时在做庭审记录.

由于被告没来,开始的十几分钟都是我一个人在回答法官,法官依次审阅了我的证据.
看到我打印的微信转转交房租记录,法官甚至叫我把手机上的转账记录找给他看,我说我9月15搬走的,法官说有什么证据能明你是这个时候搬走的,然后我只好把搬家时候拍的照片和twitter上发的搬家信息给他看..[当时心想,这也可以?]
期间法官问了很细致的问题,而且问题一针见血,我觉得他应该提前做了功课或者是处理类似的案件多了,不然不会对案子这么熟悉,信手拈来.

十几分钟之后,被告带着他老婆姗姗来迟,法官叫他老婆在法庭外等候,并就迟到的事情责问了被告几句.

然后法官开始问被告一些问题,
和被告斗了几回合[此处省略几千字],
最终法官确定了赔偿金额,跟我和被告确认是否有意见,我们都表示没意见.
随后法官叫被告现场转账给我,跟我确认收到帐之后,法官简单总结了几句,又敲了一下那个小锤子,说XXXX案件庭审结束.
法官离场时我对法官表示了感谢,法官回了一句不客气,就退场了.
此时书记员在打印庭审记录,说打印完签完字,我们就可以退场了.

随后临走前,我尝试询问书记员,是否可以拍摄相关照片,把自己的经历写在博客上,然更多的人看到,希望能帮到一些人,同时我会把必要的地方打上马赛克.书记员再三叮嘱我之后,同意让我拍摄了庭审记录.

至此,我的这次法庭之旅结束.

整个过程东小口法庭的工作人员给人的感觉都很好沟通,不像其它有的政府部门那种高高在上,他们很好交流,很好相处,有什么问题,他们也是耐心的跟你讲清楚.

最后需要注意的:

  • 诉状一定要写清楚的诉讼事由,并且有足够的证据证明这个诉讼请求是合理的,否则法庭工作人员可能不接受你的诉讼.参考我的诉状:诉状demo
  • 证据能带原件尽量带原件
  • 提交诉状时候,证据复印三份,身份证复印件2-3份提前备好.因为如果你证据数量比较多,在法庭周围复印还是比较贵的.
  • 准备要充分.大案件可以请律师搞定,但是这种小的案子,是不需要请律师的.所以一切都得自己搞定.从写诉状,准备证据,开庭前的准备,应对被告的说辞,这些都是需要自己准备好.
  • 利用网络,成本最低化.很多都是可以在网上查资料搞定的.无需去付费寻求服务
  • 为了以防被告不接收传票,如果你不知道被告身份证号或者详细住址,请不要提前告诉他你将要起诉他.让传票告诉他他被告了,就行了.
12…8
© 2018 Percy
由 Hexo 强力驱动
主题 - NexT.Muse