本文主要和大家分享PHP中filter協議詳解,希望能幫助到大家。參數 功能 read 讀取 write 寫入 resource 數據來源
php:// — 訪問各個輸入/輸出流(I/O streams)php://input 是個可以訪問請求的原始數據的只讀流。 php://filter 是一種設計用來允許過濾器程序在打開時成為流的封裝協議。這對于單獨具有完整功能的文件函數非常有用,否則就沒有機會在讀取內容之前將過濾器應用于流之上。 該協議語法為:php://filter:/<action>=<name> 比如 php://filter:/resource=http://www.baidu.com
使用 php://filter 獲取網頁內容:
<?php$url = 'http://www.phpfamily.cn';$data = file_get_contents('php://filter/resource=' . $url); echo $data; //輸出結果我http://www.phpfamily.cn頁面的內容
php://filter 的 參數列表
read參數值可為
string.strip_tags: 將數據流中的所有html標簽清除
string.toupper: 將數據流中的內容轉換為大寫
string.tolower: 將數據流中的內容轉換為小寫
convert.base64-encode: 將數據流中的內容轉換為base64編碼 convert.base64-decode: 與上面對應解碼為典型的文件包含漏洞。我們可以通過構造含有漏洞的語句,查看想要看的代碼: file=php://filter/convert.base64-encode/resource=index.php 。再將得到的base64碼解碼即可。
以上就是PHP中filter協議詳解的詳細內容,更多請關注php中文網其它相關文章!