分类目录归档:网络

TCP三次握手四次挥手笔记

TCP是一个面向连接的协议,通信双方传输数据之前,必须建立连接。TCP建立连接和断开连接的策略,可以分不同层次的掌握,这里大致分4层。

一、通俗化的描述

建立TCP连接
服务器A和服务器B通信,建立连接比较好理解的比喻:
服务器A:你好服务器B,我是服务器A。
服务器B:你好服务器A,我是服务器B。
服务器A:服务器B,你好。

断开TCP连接
设定服务器A是主动结束方
服务器A:你好, 我的数据发送完毕了,我要进入准备断开的状态了。(此时它虽然不再发送数据了,但是可以接受数据)
服务器B:我知道了,我还没有发送完毕的,你等着吧。
服务器B:我也发送完毕了,可以断开连接了。(此时它也进入准备断开的状态)
服务器A:好的,那断开吧。
继续阅读

图解HTTP笔记

《图解HTTP》用大量生动的图片,轻松、完整的讲解了一遍HTTP协议, 比那本大部头《HTTP》容易通读。2年之前看过,今天又翻看了下,有常看常新的感觉,特作一些笔记。

0、协议是计算机和网络设备之前通信的规则。规则的内容包含,如何探测到通信目标、由那一方先发起通信、怎么结束通信、使用那种语言通信等。

1、互联网是在TCP/IP协议族的基础上运作的,而HTTP属于它内部的一个子集。

2、TCP/IP通过分层管理协议,分4层即应用层、传输层、网络层、数据链路层。分层之后设计简单,每层只考虑自己层的任务,另外方便局部调整层的设计。

3、发送端数据包经过封包过程到达接送端,接收端经过拆包过程,把数据包送到接收端应用程序。
继续阅读

CSRF跨站请求伪造

上篇文章总结了遇到过的一个XSS漏洞问题,这次顺便写写自己了解的CSRF。

一、简介

CSRF是Cross-site request forgery的缩写,中文的世界一般说法是跨站请求伪造。简单地说,就是黑客伪造了一个目标网站的地址,欺骗用户去点击用浏览器打开这个地址,如果用户登陆了这个网站,就可以绕过后台用户身份验证,执行一些操作。
继续阅读

微博投票XSS漏洞

0、案例描述

收到了公司安全组发来的一个反射型XSS漏洞提醒,修复建议:请在参数值输出点做过滤或者编码转换,
链接如下:

http://vote.weibo.com/widget?vid=2977008&skin=&isCustom=1&height=448zdxxn"><img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%3Ealert(1)%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="<script>" title="<script>" />yptrj

点开后确实呈现了一个弹窗,查看了接收参数和展示参数的地方, 直接展示了接收到的参数。

// controller
$r = $this->getRequest();
$wiget_width = $r->getQuery('width', 600);
$wiget_height = $r->getQuery('height', 600);

// view

<div style="height: <?=$wiget_height?>;px" >;

快速做了一个类型转换,上线修复了问题

$wiget_width  = intval($r->getQuery('width', 600));
$wiget_height = intval($r->getQuery('height', 600));

继续阅读

PHP-FPM占用CPU过高分析及OPcache解决

平时站点CPU使用率都在10%以内,最近发现达到了50%左右
top查看服务器资源使用情况:

%Cpu0  : 41.9 us,  1.3 sy,  0.0 ni, 56.1 id,  0.3 wa,  0.0 hi,  0.3 si,  0.0 st
KiB Mem :  1016164 total,    68120 free,   583512 used,   364532 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   251176 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
 5705 www       20   0  281272  40360   4516 S 15.0  4.0   0:09.09 php-fpm
 5704 www       20   0  281292  40604   4584 S  8.0  4.0   0:08.89 php-fpm
 5706 www       20   0  281124  41124   5296 S  8.0  4.0   0:08.80 php-fpm
 5707 www       20   0  281328  40596   4580 S  7.7  4.0   0:08.77 php-fpm

继续阅读