一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

php打開遠程文件的方法和風險及解決方法

php有一個配置選項叫allow_url_fopen,該選項默認是有效的。它允許你指向許多類型的資源,并像本地文件一樣處理。例如,通過讀取URL你可以取得某一個頁面的內容(HTML),看下面的代碼
復制代碼 代碼如下:
<?php
$contents = file_get_contents('http://www.jb51.NET/');
?>

當被污染數據用于include和require的文件指向時,會產生嚴重漏洞。實際上,我認為這種漏洞是php應用中最危險的漏洞之一,這是因為它允許攻擊者執行任意代碼。盡管嚴重性在級別上要差一點,但在一個標準文件系統函數中使用了被污染數據的話,會有類似的漏洞產生:
復制代碼 代碼如下:
<?php
$contents = file_get_contents($_GET['filename']);
?>

該例使用戶能操縱file_get_contents( )的行為,以使它獲取遠程資源的內容。考慮一下類似下面的請求:
http://example.org/file.php?file ... mple.org%2Fxss.html
這就導致了$content的值被污染的情形,由于這個值是通過間接方式得到的,因此很可能會忽視這個事實。這也是深度防范原則會視文件系統為遠程的數據源,同時會視$content的值為輸入,這樣你的過濾機制會潛在的起到扭轉乾坤的作用。
由于$content值是被污染的,它可能導致多種安全漏洞,包括跨站腳本漏洞和SQL注入漏洞。例如,下面是跨站腳本漏洞的示例:
復制代碼 代碼如下:
<?php
$contents = file_get_contents($_GET['filename']);
echo $contents;
?>

解決方案是永遠不要用被污染的數據去指向一個文件名。要堅持過濾輸入,同時確信在數據指向一個文件名之前被過濾即可:
復制代碼 代碼如下:
<?php
$clean = array();
/* Filter Input ($_GET['filename']) */
$contents = file_get_contents($clean['filename']);
?>

盡管無法保證$content中的數據完全沒有問題,但這還是給出了一個合理的保證,即你讀取的文件正是你想要讀取的文件,而不是由攻擊者指定的。為加強這個流程的安全性,你同樣需要把$content看成是輸入,并在使用前對它進行過濾。
復制代碼 代碼如下:
<?php
$clean = array();
$html = array();
/* Filter Input ($_GET['filename']) */
$contents = file_get_contents($clean['filename']);
/* Filter Input ($contents) */
$html['contents'] = htmlentities($clean['contents'], ENT_QUOTES, 'UTF-8');
echo $html['contents'];
?>

上面的流程提供了防范多種攻擊的強有力的方法,同時在實際編程中推薦使用。

php技術php打開遠程文件的方法和風險及解決方法,轉載需保留來源!

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

主站蜘蛛池模板: 国产精品欧美韩国日本久久 | 亚洲狠狠综合久久 | 欧美三级视频在线观看 | 国产一区二区高清 | 福利视频一区二区 | h国产在线观看 | 中文字幕天天躁日日躁狠狠躁97 | 综合色天天| 午夜视频在线观看www中文 | 亚洲成人国产精品 | 国亚洲欧美日韩精品 | 亚洲人成绝费网站色ww | 国产亚洲精品一品区99热 | 97成人免费视频 | 国产精品视频福利一区二区 | 色网站免费在线观看 | 国产精品激情综合久久 | 日本久久道一区二区三区 | 国产三级网站 | 亚洲成人免费网站 | 欧美人禽杂交狂配在线观看视频 | 三级网站免费播放国语 | 久久影视一区 | 日本国产最新一区二区三区 | 在线观看国产精美视频 | 国产美女91 | 中文字幕亚洲一区二区v@在线 | 久久国产高清视频 | 日本午夜www高清视频 | 桃花视频在线观看高清版mv | 国产高清精品自在久久 | 2021国内精品久久久久久影院 | 91最新视频在线观看 | 亚洲性久久久影院 | 久久精品大片 | 日韩精品亚洲专区在线影视 | 草草视频免费观看 | 成人夜夜 | 麻豆精品久久久一区二区 | 中文字幕曰韩一区二区不卡 | 在线一区二区观看 |