導航:首頁 > 編程語言 > php00截斷

php00截斷

發布時間:2022-09-08 01:46:27

㈠ 如何利用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指字元數量截斷,在後面加上省略號。

substr可以截斷字元串,但是不能顯示省略號,用 Smarty 的的 truncate 方法可以把頁面的字元串截斷並顯示省略號。

㈢ 文件上傳漏洞的類型有哪些

1、 前端檢測繞過
有的站點只在前端對文件的類型有所限制,我們只需用bp抓包然後修改文件後綴名就能繞過這種檢測。
2、 文件頭檢測繞過
有的站點使用文件頭來檢測文件的類型,這種檢測可以在shell前加入相應的位元組一繞過檢測,幾種常見的文件類型的頭位元組如下:

3、 後綴檢測繞過
部分伺服器僅根據文件後綴、上傳時的信息或者文件頭來判斷文件類型,此時可以繞過。php由於歷史的原因,部分解釋器可能支持符合正則/ph(p[2-7]?|t(ml)?)/的後綴,如php/php5/pht/phtml/shtml/pwml/phtm等。如果後端對文件名進行了過濾,可以嘗試雙寫文件名,比如1.pphphp。
4、 系統命名繞過
在windows系統中,上傳不符合windwos命名規則的文件名會被windows系統自動去掉不符合規則符號後面的內容,例如:test.asp.、test.asp(空格)、test.php:1.jpg、test.php:: D A T A 、 t e s t . p h p : : DATA、test.php:: DATA、test.php::DATA…這些文件上傳到伺服器端之後都會變成test.php
linux系統下,可以嘗試上傳文件後綴名為大小寫混用的Php文件。
5、 文件包含繞過
在文件包含的時候,為了靈活包含文件,將被包含文件設置為變數,通過動態變數來引入需要包含的文件,用戶可以對變數的值進行控制,而伺服器端未對變數進行合理的校驗,這樣就導致所包含的文件有可能存在惡意代碼。比如1.php
<?php $file=$_GET[『file』]; include($file); ?>
這個程序就包含了一個文件,我們在1.txt文件中寫入
<?php phpinfo(); ?>
然後將這個文件包含在1.php中1.php?file=1.txt這樣
<?php phpinfo(); ?>就成功寫入1.php這個文件當中,我們訪問1.php這個文件的時候就能出現php信息那個頁面。利用這個漏洞我們就可以進行文件上傳,我們只需包含一個一句話木馬內容的txt就能用菜刀連接,這樣就成功執行了文件上傳。
6、 解析漏洞繞過
目錄解析:在網站中建立名稱為*.asp、.asa格式的文件夾時,其文件夾下面的文件都會被當做asp執行。
文件解析:當文件名為.asp;1.jpg時,也會被當做asp執行
Apache解析漏洞:Apache在解析文件時,是從右往左,如果遇到不認識的擴展名時,就會繼續向左判斷,例如1.php.rar就會被當做
php解析。
IIS 7.0/IIS 7.5/Nginx<0.8.3畸形文件解析漏洞,當訪問http://xxx.com/1.jpg/1.php時,此時1.php不存在,就會將1.jpg當做php文件去執行,所以如果存在該漏洞,將php木馬後綴改成jpg然後訪問1.jpg/1.php然後1.jpg就會被當成1.php來執行。
.htaccess,該文件裡面的代碼如下:
<FilesMatch 「1」>
SetHandler application/x-httpd-php

這段代碼的意思就是文件名包含」1」這個這個字元串就會被當成php文件來處理。但是值得注意的是上傳.htaccess必須是網站根路徑。
7、 文件截斷繞過
00截斷:由於00代表結束符,所以會把00後面的所有字元刪除。
能利用這個漏洞的前提是,php版本要小於5.3.4,magic_quotes_gpc需要為OFF狀態。我們用bp進行攔包之後,需要send to repeater,然後在hex中,在php後面添加00
8、 競爭條件攻擊
一些網站上傳文件邏輯上是允許上傳任意文件的,然後檢查上傳文件的內容是否包含webshell腳本,如果包含則刪除該文件,這里存在的問題是文件上傳成功之後和刪除文件之間存在一個短的時間差,攻擊者就可以利用這個時間差來上傳漏洞攻擊。攻擊者先上傳一個webshell腳本1.php內容如下:
<?php fputs(fopen(『../shell.php』,』w』),』<?php @eval($_POST[a]) ?>』); ?>
代碼內容就是生成一個新的webshell,shell.php,那麼當1.php上傳成功之後,我們快速訪問這個文件,這時就會在伺服器端當前目錄下自動生成shell.php,這時就利用時間差完成了webshell的上傳。

㈣ php字元截取

當漢字被截斷時,根據編碼規則他總是要把後邊的其他字元拉過來一起作為漢字解釋,這就是出現亂碼的原因。而值為0x81到0xff與0x00組合始終都顯示為「空」
根據這一特點,在substr的結果後面補上一個chr(0),就可以防止出現亂碼了
先看段代碼
復制代碼
代碼如下:
<?php
$len
=
15;
$str
=
"這個新聞或是文章的標題很長,需要只顯示前面一些字,後面用...來代替";
echo
strlen($str)<=$len
?
$str
:
(substr($str,0,$len).chr(0)."...");
?>
chr(0)相關知識:
null是什麼都沒有,而chr(0)的值是0。表示成16進制是0x00,表示成二進制是00000000
雖然chr(0)不會顯示出什麼,但是他是一個字元。

㈤ 如何截斷上傳文件中的的php文件

截斷類型:php %00截斷
截斷條件:
php版本小於5.3.4 詳情關注CVE-2006-7243
php的magic_quotes_gpc為OFF狀態

㈥ 有關繞過的問題(PS.本人是相關專業學生,並非可疑人物)

php的上傳繞過方法一般有兩種
一種利用伺服器的解析漏洞 例如%00截斷,xxx.php;.jpg等
一種是修改後綴名來bypass 例如修改後綴為Php,php5等等方法
現在直接上傳就getshell的比較少見了,一般是文件包含+文件上傳的攻擊鏈來利用

㈦ php 如何判斷「請求被截斷」

方法2:getInput(String input),可以轉化為代碼request.getParmater(「input」),
由於字元串中包含了『&』字元,直接用postman進行投遞時候,字元串會攔斷【request.getParamater會以&截斷參數】。因此不能直接投遞。可以將input的json字元串url enode後投遞。
第二種方式,就是在postman中header中設置
key:content-type
value:application/json
在Body中設置json數據
然後在代碼中指明接受為requestBody

參考一下

㈧ 關於PHP截取時間字元串、、、、

為什麼有現成的函數不用呢?<?php
$date = date('2011-12-12 20:10:00');$hour = date('H',strtotime($date));
$min = date('i',strtotime($date));
$sec = date('s',strtotime($date));echo $hour,$min,$sec;?>

㈨ 在php稍微老一點版本中,可以使用%00截斷字元串的連接,舉個例子:

樓主檢查下是不是因為GPC為ON時被%00被轉義了。

閱讀全文

與php00截斷相關的資料

熱點內容
androidm3u8緩存 瀏覽:234
imphp開源知乎 瀏覽:706
清除網路通配符dos命令 瀏覽:837
鴻蒙系統怎麼快速換回安卓 瀏覽:712
pdf綠色虛擬列印機 瀏覽:213
androidtab框架 瀏覽:147
java轉php的時間戳 瀏覽:639
編譯libstdc依賴 瀏覽:658
清演算法人與原法人的區別 瀏覽:410
家庭裝修下載什麼app軟體 瀏覽:575
美食博主用什麼app拍視頻 瀏覽:815
ipone手機如何加密微信 瀏覽:357
自來水加密閥閥帽 瀏覽:437
華為交換機dhcp配置命令 瀏覽:319
androidbitmap縮小 瀏覽:275
單片機串口控制燈 瀏覽:88
大訊雲伺服器安裝視頻 瀏覽:788
華為演算法領先世界 瀏覽:658
linux路由重啟 瀏覽:570
php的模板編程 瀏覽:324