Re: [閒聊] 關於安全性
※ 引述《chweng ()》之銘言:
: ※ 引述《eric77712 (心要讓你聽見)》之銘言:
: : 大家好:
: : PHP有個函是叫include();,
: : 我覺得這個函式有個小缺點,他可以include("url");,
: : 這樣的話對於對方Server的資料安全可能會有危險,
: : 因為可以在include("url");完之後去Try看看對方PHP有什麼變數,
: : 所以我在想,是不是可以在每個頁面最後加上unset();把不用的變數拿掉,
: : 大家的看法如何呢?
: 沒那麼誇張吧?
: 就算是去 include 別人的 url,也祇會收到對方處理過後的資料而已,
: 應該不會接收到對方處理過程中所用的變數。
: 我剛剛試了一下,應該是沒辦法用這方法讀到才對,
: 或者我誤會你的意思了?可以請你實作一個看看嗎?
: 有一種比較常見的情況是,某些程式會以 inc 為副檔名,
: 但偏偏 server 又忘了把這類檔案的 MIME type 設成 application/x-httpd-php,
: 導致 server 直接以 text/plain 直接把程式碼全給倒出來…
: 如果這時候程式中剛好又含有重要資訊的話,就直接被別人看光光了。
: 不過這時候也不需要 include,直接踹到該 inc 正確的位置就可以了……
include("http://") 這種方式只能擷取到對方web server執行完後送出的html
(或者其他格式)內容,這樣是不會抓到對方的PHP原始碼的(除非就像c網友所
提到的狀況)。不過include在多人共用的伺服器上面確實有可能把其他使用者
的程式碼抓進來,例如在虛擬主機上面,這種狀況是有可能發生的(其他檔案
操作的功能也一樣)。PHP對於這個問題有提供一些方式去防止使用者試圖
去include/require/fopen()他們不該看到的檔案,請查詢關於safe mode的資料。
http://www.php.net/manual/en/features.safe-mode.php
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.153.19
推
01/28 18:13, , 1F
01/28 18:13, 1F
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章