一、涉及到的危險函數〔include(),require()和include_once(),require_once()〕

include() && require()語句:包括并運行指定文件。

這兩種結 " /> 中文字幕av不卡,成a人片亚洲日本久久,亚洲在线播放电影

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php 遠程包含文件漏洞分析第1/6頁

幾乎所有的cgi程序都有這樣的 bug,只是具體的表現方式不一樣罷了。

一、涉及到的危險函數〔include(),require()和include_once(),require_once()〕

include() && require()語句:包括并運行指定文件。

這兩種結構除了在如何處理失敗之外完全一樣。include() 產生一個警告而 require() 則導致一個致命錯誤。換句話說,如果你想在遇到丟失文件時停止處理頁面就用 require()。include() 就不是這樣,腳本會繼續運行。
如果"allow_url_fopen"在 php 中被激活(默認配置),也可以用 URL(通過 HTTP 或者其它支持的封裝協議)而不是本地文件來指定要被包括的文件。如果目標服務器將目標文件作為 php 代碼解釋,則可以用適用于 HTTP GET 的 URL 請求字符串來向被包括的文件傳遞變量。
詳細參考:http://cn.php.NET/manual/en/function.include.php

require_once() && include_once()
require_once ()和include_once() 語句在腳本執行期間包括并運行指定文件。此行為和 require() 語句類似,唯一區別是如果該文件中的代碼已經被包括了,則不會再次包括。適用于在腳本執行期間同一個文件有可能被包括超過一次的情況下,你想確保它只被包括一次以避免函數重定義,變量重新賦值等問題。
詳細參考:http://cn.php.NET/manual/en/function.require-once.php

二、為什么要包含文件

程序員寫程序的時候,不喜歡干同樣的事情,也不喜歡把同樣的代碼(比如一些公用的函數)寫幾次,于是就把需要公用的代碼寫在一個單獨的文件里面,比如 share.php,而后在其它文件進行包含調用。在php里,我們就是使用上面列舉的那幾個函數來達到這個目的的,它的工作流程:如果你想在 main.php里包含share.php,我將這樣寫include("share.php")就達到目的,然后就可以使用share.php中的函數了,像這個寫死需要包含的文件名稱的自然沒有什么問題,也不會出現漏洞,那么問題到底是出在哪里呢?
有的時候可能不能確定需要包含哪個文件,比如先來看下面這個文件index.php的代碼:
[code]

if ($_GET

php技術php 遠程包含文件漏洞分析第1/6頁,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 五常市| 罗田县| 禹州市| 柘荣县| 柯坪县| 施甸县| 南京市| 台北县| 会东县| 佛冈县| 罗源县| 永靖县| 渑池县| 合肥市| 镇康县| 怀集县| 沛县| 维西| 石台县| 龙岩市| 民和| 观塘区| 万安县| 金阳县| 南投市| 衡南县| 康马县| 江安县| 上思县| 永福县| 宁都县| 宁德市| 陇南市| 揭阳市| 长海县| 天镇县| 油尖旺区| 乡城县| 辽源市| 台南县| 宁武县|