最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP偽協(xié)議基本原理介紹

 更新時間:2022年11月11日 11:22:08   作者:隱形卟  
這篇文章主要介紹了PHP偽協(xié)議,php中有很多封裝協(xié)議,最常見的如file協(xié)議,php協(xié)議,data協(xié)議,zip和phar協(xié)議等等

前言

引用一張比較清晰易懂的圖

php偽協(xié)議是php自己支持的一種協(xié)議與封裝協(xié)議,簡單來說就是php定義的一種特殊訪問資源的方法。

常見的php偽協(xié)議

php://input

php://input 是個可以訪問請求的原始數(shù)據(jù)的只讀流,獲取POST請求數(shù)據(jù)的協(xié)議

當enctype=”multipart/form-data” 的時候 php://input 是無效的。

要使php://input 成功使用還需要配置php.ini 中的 allow_url_include設置為On

案例代碼

php
<?php
@include($_GET["file"]);
?>

構造執(zhí)行的代碼,輸出結果

php://filter

php://filter 是一種元封裝器, 設計用于數(shù)據(jù)流打開時的篩選過濾應用。 這對于一體式(all-in-one)的文件函數(shù)非常有用,類似 readfile()、 file() 和 file_get_contents(), 在數(shù)據(jù)流內容讀取之前沒有機會應用其他過濾器。

在利用上很多都是與包含函數(shù)結合使用,讀入或者輸出獲取文件源碼然后編碼讓其不執(zhí)行從而輸出

php://filter 的使用:如
php://filter/read=convert.base64-encode/resource=index.php
php://filter/resource=index.php

php://filter 偽協(xié)議組成:
read=<讀鏈的篩選列表>
resource=<要過濾的數(shù)據(jù)流>
write=<寫鏈的篩選列表>

php://filter/read=處理方式(base64編碼,rot13等等)/resource=要讀取的文件

read 對應要設置的過濾器:
常見的過濾器分字符串過濾器、轉換過濾器、壓縮過濾器、加密過濾器
其中convert.base64-encode ,convert.base64-decode都屬于 轉換過濾器

<?php
$a=($_GET["file"]);
echo(file_get_contents($a));//獲取文件內容
?>

訪問輸出base64編碼后的內容

zip://與bzip2://與zlib://協(xié)議

zip:// 等屬于壓縮流的協(xié)議,通過直接壓縮普通文件為zip文件,再通過zip:// 協(xié)議讀取,可以直接執(zhí)行php代碼。壓縮后的zip文件可以隨意修改后綴也不影響zip://協(xié)議讀取。(注意是如phpinfo.txt直接壓縮為zip,而不是文件夾壓縮zip)

例:

<?php
$a=($_GET["file"]);
include($a);
?>

壓縮及協(xié)議訪問格式:

壓縮文件為.zip后綴
zip://絕對路徑/phpinfo.zip%23phpinfo.php
壓縮文件為.bz2后綴
compress.bzip2://絕對路徑/phpinfo.zip/phpinfo.php
壓縮文件為.gz后綴
compress.zlib://絕對路徑/phpinfo.zip/phpinfo.php

zip://訪問

data://

data://協(xié)議與php://input 有很點相似的地方。他們都可以通過請求提交的php代碼數(shù)據(jù)配合文件包含函數(shù)可以達到代碼執(zhí)行效果,data:// 的成功執(zhí)行需要php.ini設置allow_url_include 與allow_url_open都為On。

data://協(xié)議的格式是: data://數(shù)據(jù)流封裝器,相應格式數(shù)據(jù)

常見的用法為
data://,<?php%20phpinfo();?>   
data://text/plain,<?php%20phpinfo();?>
data://text/plain;base64,PD9waHAgcGhwaW5mbygpOz8%2b

例:

<?php
$a=($_GET["file"]);
include($a);
?>

構造data:// 訪問

phar://

phar://偽協(xié)議在前面phar反序列化的時候學習過,phar也可以對zip格式壓縮包進行訪問解析。

格式為:phar://絕對路徑\phpinfo.zip\phpinfo.php

到此這篇關于PHP偽協(xié)議基本原理介紹的文章就介紹到這了,更多相關PHP偽協(xié)議內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • PHP+MySQL高并發(fā)加鎖事務處理問題解決方法

    PHP+MySQL高并發(fā)加鎖事務處理問題解決方法

    這篇文章主要介紹了PHP+MySQL高并發(fā)加鎖事務處理問題解決方法,結合實例形式分析了PHP+MySQL事務處理相關操作技巧與注意事項,需要的朋友可以參考下
    2018-04-04
  • PHP實現(xiàn)限制IP訪問及提交次數(shù)的方法詳解

    PHP實現(xiàn)限制IP訪問及提交次數(shù)的方法詳解

    這篇文章主要介紹了PHP實現(xiàn)限制IP訪問及提交次數(shù)的方法,涉及php針對客戶端來訪IP的獲取、判斷以及結合session記錄IP訪問次數(shù)等相關操作技巧,需要的朋友可以參考下
    2017-07-07
  • php類常量的使用詳解

    php類常量的使用詳解

    本篇文章是對php中類常量的使用進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • 四個PHP非常實用的功能

    四個PHP非常實用的功能

    這篇文章主要介紹了四個PHP非常實用的功能,需要的朋友可以參考下
    2015-09-09
  • php防攻擊代碼升級版

    php防攻擊代碼升級版

    我上一篇文章《最新開發(fā)的網(wǎng)站防IP攻擊代碼,超級有用》寫了一個完整的防止網(wǎng)絡惡意IP攻擊的方案,使用了一個月,效果良好。
    2010-12-12
  • 功能強大的php文件上傳類

    功能強大的php文件上傳類

    這篇文章主要為大家詳細介紹了功能強大的php文件上傳類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • PHP讀取大文件末尾N行的高效方法推薦

    PHP讀取大文件末尾N行的高效方法推薦

    下面小編就為大家?guī)硪黄狿HP讀取大文件末尾N行的高效方法推薦。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • Linux系統(tǒng)下PHP-FPM的安裝和配置教程

    Linux系統(tǒng)下PHP-FPM的安裝和配置教程

    這篇文章主要介紹了Linux系統(tǒng)下PHP-FPM的安裝和配置教程,PHP-FMP是用于PHP的FastCGI管理器,經(jīng)常被用于配置PHP和服務器軟件,需要的朋友可以參考下
    2015-08-08
  • php基于curl實現(xiàn)的股票信息查詢類實例

    php基于curl實現(xiàn)的股票信息查詢類實例

    這篇文章主要介紹了php基于curl實現(xiàn)的股票信息查詢類,結合完整實例形式分析了php使用curl調用API接口實現(xiàn)股票信息查詢功能的相關操作技巧,需要的朋友可以參考下
    2016-11-11
  • 淺談php的TS和NTS的區(qū)別

    淺談php的TS和NTS的區(qū)別

    這篇文章主要介紹了php的TS和NTS的區(qū)別,文中介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03

最新評論

忻州市| 东安县| 土默特左旗| 涿州市| 石渠县| 亚东县| 永昌县| 西林县| 定结县| 旺苍县| 定襄县| 博白县| 新平| 河西区| 天台县| 朝阳县| 曲麻莱县| 广宗县| 阳春市| 内黄县| 澄江县| 栖霞市| 观塘区| 鲜城| 新乡市| 武隆县| 汉中市| 兴城市| 稷山县| 东光县| 鲜城| 平乡县| 新闻| 庆城县| 台中县| 砚山县| 申扎县| 自贡市| 长沙县| 普兰店市| 泾阳县|