亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

前言

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

php偽協(xié)議是php自己支持的一種協(xié)議與封裝協(xié)議,簡(jiǎn)單來(lái)說(shuō)就是php定義的一種特殊訪問(wèn)資源的方法。

常見的php偽協(xié)議

php://input

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

當(dāng)enctype=”multipart/form-data” 的時(shí)候 php://input 是無(wú)效的。

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

案例代碼

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

構(gòu)造執(zhí)行的代碼,輸出結(jié)果

php://filter

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

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

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

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

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

read 對(duì)應(yīng)要設(shè)置的過(guò)濾器:
常見的過(guò)濾器分字符串過(guò)濾器、轉(zhuǎn)換過(guò)濾器、壓縮過(guò)濾器、加密過(guò)濾器
其中convert.base64-encode ,convert.base64-decode都屬于 轉(zhuǎn)換過(guò)濾器

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

訪問(wèn)輸出base64編碼后的內(nèi)容

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

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

例:

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

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

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

zip://訪問(wèn)

data://

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

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

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

例:

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

構(gòu)造data:// 訪問(wèn)

phar://

phar://偽協(xié)議在前面phar反序列化的時(shí)候?qū)W習(xí)過(guò),phar也可以對(duì)zip格式壓縮包進(jìn)行訪問(wèn)解析。

格式為:phar://絕對(duì)路徑\phpinfo.zip\phpinfo.php

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

相關(guān)文章

  • php實(shí)現(xiàn)的click captcha點(diǎn)擊驗(yàn)證碼類實(shí)例

    php實(shí)現(xiàn)的click captcha點(diǎn)擊驗(yàn)證碼類實(shí)例

    這篇文章主要介紹了php實(shí)現(xiàn)的click captcha點(diǎn)擊驗(yàn)證碼類實(shí)例,不同于以往傳統(tǒng)的驗(yàn)證碼,該驗(yàn)證碼類可實(shí)現(xiàn)手機(jī)用戶點(diǎn)擊某一位置確認(rèn)驗(yàn)證碼,非常實(shí)用,需要的朋友可以參考下
    2014-09-09
  • php構(gòu)造函數(shù)的繼承方法

    php構(gòu)造函數(shù)的繼承方法

    這篇文章主要介紹了php構(gòu)造函數(shù)的繼承方法,實(shí)例分析并總結(jié)了構(gòu)造函數(shù)繼承的各種常見情況,需要的朋友可以參考下
    2015-02-02
  • php無(wú)需編譯安裝openssl擴(kuò)展的實(shí)現(xiàn)方法

    php無(wú)需編譯安裝openssl擴(kuò)展的實(shí)現(xiàn)方法

    下面小編就為大家分享一篇php無(wú)需編譯安裝openssl擴(kuò)展的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • PHP實(shí)現(xiàn)GIF圖片驗(yàn)證碼

    PHP實(shí)現(xiàn)GIF圖片驗(yàn)證碼

    這篇文章主要介紹了PHP如何生成GIF動(dòng)態(tài)圖片驗(yàn)證碼,在注冊(cè)界面時(shí)大家經(jīng)常用到驗(yàn)證碼,需要了解的朋友可以參考下
    2015-11-11
  • PHP八大設(shè)計(jì)模式案例詳解

    PHP八大設(shè)計(jì)模式案例詳解

    這篇文章主要介紹了PHP八大設(shè)計(jì)模式案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • PHP實(shí)現(xiàn)接收二進(jìn)制流轉(zhuǎn)換成圖片的方法

    PHP實(shí)現(xiàn)接收二進(jìn)制流轉(zhuǎn)換成圖片的方法

    這篇文章主要介紹了PHP實(shí)現(xiàn)接收二進(jìn)制流轉(zhuǎn)換成圖片的方法,結(jié)合實(shí)例形式分析了php文件、目錄及圖形操作的相關(guān)技巧,需要的朋友可以參考下
    2017-01-01
  • 必須收藏的php實(shí)用代碼片段

    必須收藏的php實(shí)用代碼片段

    這篇文章主要為大家又分享了必須收藏的23個(gè)php實(shí)用代碼片段,幫助大家更好地學(xué)習(xí)php程序設(shè)計(jì),感興趣的小伙伴們可以參考一下
    2016-02-02
  • php中多維數(shù)組按指定value排序的實(shí)現(xiàn)代碼

    php中多維數(shù)組按指定value排序的實(shí)現(xiàn)代碼

    這篇文章主要介紹了php中多維數(shù)組按指定value排序的實(shí)現(xiàn)代碼,可以實(shí)現(xiàn)類似數(shù)據(jù)庫(kù)排序字段的排序效果,需要的朋友可以參考下
    2014-08-08
  • PHP實(shí)現(xiàn)二維數(shù)組去重功能示例

    PHP實(shí)現(xiàn)二維數(shù)組去重功能示例

    這篇文章主要介紹了PHP實(shí)現(xiàn)二維數(shù)組去重功能,涉及php針對(duì)數(shù)組的遍歷、判斷、設(shè)置等相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2017-01-01
  • 詳解PHP中mb_strpos的使用

    詳解PHP中mb_strpos的使用

    這篇文章主要介紹了詳解PHP中mb_strpos的使用,通過(guò)使用語(yǔ)法以及實(shí)例給大家詳細(xì)分析了用法,需要的朋友參考學(xué)習(xí)下。
    2018-02-02

最新評(píng)論