一、简介
strace是一个工具,用来跟踪进程执行时的系统调用及所接收的信号。可以打印出系统调用过程中的参数、返回值、执行消时等。
二、常用系统调用函数
fork 创建进程
一次HTTP POST请求,Nginx有没有接收到完整数据, FPM有没有接收到完整数据,通过tcpdump这个软件就可以很轻易完成。
说明:以下LNMP测试环境:
Nginx监听80端口
PHP-FPM监听9022端口
Nginx和FPM通过IP + port的方式通信。
继续阅读
这是个很经典的现象,访问某个站点,提示无法访问此网站:
TCP是一个面向连接的协议,通信双方传输数据之前,必须建立连接。TCP建立连接和断开连接的策略,可以分不同层次的掌握,这里大致分4层。
一、通俗化的描述
建立TCP连接
服务器A和服务器B通信,建立连接比较好理解的比喻:
服务器A:你好服务器B,我是服务器A。
服务器B:你好服务器A,我是服务器B。
服务器A:服务器B,你好。
断开TCP连接
设定服务器A是主动结束方
服务器A:你好, 我的数据发送完毕了,我要进入准备断开的状态了。(此时它虽然不再发送数据了,但是可以接受数据)
服务器B:我知道了,我还没有发送完毕的,你等着吧。
服务器B:我也发送完毕了,可以断开连接了。(此时它也进入准备断开的状态)
服务器A:好的,那断开吧。
继续阅读
《图解HTTP》用大量生动的图片,轻松、完整的讲解了一遍HTTP协议, 比那本大部头《HTTP》容易通读。2年之前看过,今天又翻看了下,有常看常新的感觉,特作一些笔记。
0、协议是计算机和网络设备之前通信的规则。规则的内容包含,如何探测到通信目标、由那一方先发起通信、怎么结束通信、使用那种语言通信等。
1、互联网是在TCP/IP协议族的基础上运作的,而HTTP属于它内部的一个子集。
2、TCP/IP通过分层管理协议,分4层即应用层、传输层、网络层、数据链路层。分层之后设计简单,每层只考虑自己层的任务,另外方便局部调整层的设计。
3、发送端数据包经过封包过程到达接送端,接收端经过拆包过程,把数据包送到接收端应用程序。
继续阅读
上篇文章总结了遇到过的一个XSS漏洞问题,这次顺便写写自己了解的CSRF。
一、简介
CSRF是Cross-site request forgery的缩写,中文的世界一般说法是跨站请求伪造。简单地说,就是黑客伪造了一个目标网站的地址,欺骗用户去点击用浏览器打开这个地址,如果用户登陆了这个网站,就可以绕过后台用户身份验证,执行一些操作。
继续阅读
收到了公司安全组发来的一个反射型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));
平时站点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