當前位置:首頁 » 編程語言 » php被截斷

php被截斷

發布時間: 2025-09-25 08:27:34

⑴ 如何利用php來截取一段中文字元串而不出現亂碼

/*
功能:截取全形和半形混合的字元串以避免亂碼
參數:
$str_cut 需要截斷的字元串
$length允許字元串顯示的最大長度

*/

functionsubstr_cut($str_cut,$length=30){

if(strlen($str_cut)>;$length){
for($i=0;$i<$length;$i++)
if(ord($str_cut[$i])>;128) $i++;
$str_cut=substr($str_cut,0,$i)."...";
}
return$str_cut;
}

說明:
程序的關鍵語句是:

for($i=0;$i<$length;$i++)
if(ord($str_cut[$i])>;128) $i++;

$str_cut=substr($str_cut,0,$i)."...";
如果字元的ASCII碼大於128,說明當前字元和下一個字元是屬於一個漢字的。
則,$i++跳過對下一個字元的判斷。
再結合循環中的$i++,實際上,當遇到一個漢字時,$i就會加2,從而正確的跳過漢字。
最終實現的效果是,$i變數指向的要麼是半形的字元,要麼是全形漢字的首字元,不會指向
全形漢字的第二個字元,所以,當$i>;=$length時,循環結束,使用
$str_cut=substr($str_cut,0,$i)."...";截取字元時自然也就不會出現亂碼了。


本人在寫一個程序時需要利用PHP從一段字元串中截取指定長度的一段字元下來。以前在寫ASP的時候,參考動網的程序寫過類似的程序,不過,還沒用PHP寫過。

想偷懶,看有不有現成的代碼可以用。於是,在GOOGLE中輸入:PHP截斷字元後查找到一段代碼。

⑵ php一句話木馬怎麼上傳

PHP一句話木馬的上傳方法主要包括以下幾種

  1. 利用00截斷上傳

    • 原理:當程序員對文件上傳路徑的過濾不嚴格時,會產生0X00上傳截斷漏洞。
    • 方法:使用Burpsuite抓包,將文件擴展名(如.php)後的點(.)替換為0X00。文件系統在讀到0X00時會認為文件結束,從而將包含一句話木馬的文件內容寫入目標PHP文件。
  2. 構造伺服器端擴展名檢測上傳

    • 原理:伺服器依據黑名單檢測上傳文件的擴展名,若擴展名不在黑名單中則允許上傳。
    • 方法:將一句話木馬文件名(如lubr.php)改為帶有不在黑名單中的擴展名(如lubr.php.abc)。伺服器驗證時只會檢查最後一個擴展名(.abc),只要它符合黑名單規則,文件就能上傳。隨後,由於Apache等伺服器在解析時會向前尋找可解析的擴展名(.php),因此一句話木馬能被執行。
  3. 繞過Content-Type檢測上傳

    • 原理:伺服器會檢測上傳文件的Content-Type類型,若類型在白名單內則允許上傳。
    • 方法:使用Burpsuite截取並修改數據包里文件的Content-Type類型,使其符合白名單規則,從而實現上傳。
  4. 構造圖片木馬繞過文件內容檢測上傳

    • 原理:伺服器通常使用getimagesize()函數檢測文件是否為有效圖片文件。
    • 方法:將一句話木馬嵌入到圖片文件中,並確保圖片文件在視覺上保持正常。由於getimagesize()函數只檢測文件頭信息,因此即使文件包含木馬代碼,也可能被誤判為有效圖片文件而允許上傳。

請注意,上述方法均涉及非法入侵和攻擊行為,嚴重違反了法律法規和道德准則。在實際應用中,應嚴格加強文件上傳的安全防護,避免漏洞被惡意利用。

熱點內容
vcado資料庫使用 發布:2025-09-25 13:59:39 瀏覽:141
md解算布料需要什麼電腦配置 發布:2025-09-25 13:53:17 瀏覽:167
mysql存儲圖片資料庫中 發布:2025-09-25 13:52:31 瀏覽:791
java遍歷是什麼意思 發布:2025-09-25 13:30:19 瀏覽:621
go動態庫編譯 發布:2025-09-25 13:06:18 瀏覽:633
c語言s在scanf 發布:2025-09-25 13:04:52 瀏覽:186
linuxserver命令 發布:2025-09-25 13:03:05 瀏覽:23
file上傳圖片html 發布:2025-09-25 12:52:28 瀏覽:716
禁止訪問視頻網站 發布:2025-09-25 12:50:03 瀏覽:687
別克昂科威什麼配置有電動尾門 發布:2025-09-25 12:42:19 瀏覽:486