2009-11-23 89 views
0

簡短的問題:我如何測試我的網站中的目錄是否可以在世界其他地方使用(甚至在我自己的機器之外)?寫入遠程目錄的安全測試

語境:

我運行這個網站,託管服務提供商實施了一個奇怪的保障體系。要讓PHP將文件寫入(linux)服務器上的磁盤,目標目錄應該對每個人都有寫入權限。 (注意,沒有用戶上傳東西,只有我的PHP腳本生成文件),但我的主機告訴我它的安全,因爲他們有其他(未指定的)安全措施以防止世界訪問我的目標目錄。我很懷疑,所以我想確保一切都安全。

所以,我知道我的目錄權限 - 我已經設置並測試它們。我知道我的腳本可以寫入該目錄。現在我想確保我真的是唯一一個可以寫入該目錄的人,儘管已經爲每個人提供了文件許可權。

例如:是否有PHP函數寫入遠程目錄,如fopen('http://domain.tld/foo/evil-hack.php', 'w')?我已經測試,它不起作用,但這並不證明別人不會找到另一種方式。

回答

0

PHP函數CHMOD是你的答案:

http://php.net/manual/en/function.chmod.php

此外fileperms();應該幫助你。

+0

我知道如何從服務器本身進行測試。我想知道如何測試從另一臺機器(或同一共享主機上的另一個用戶)寫入目標目錄以確保儘管給予每個人寫入權限,但我的腳本實際上是唯一一個_can_寫入它的人,正如我的主機所聲稱的那樣。 – avdgaag

+0

啊我明白你想達到什麼目的。我很快就會遇到同樣的情況,因爲我正在爲多個用戶開發一個Web應用程序(請閱讀:使用不同數據庫的不同客戶端)。我*認爲*當你試圖寫入一個不屬於主機環境的目錄時,你不能寫入該目錄,因爲你被鎖定在你的home目錄中。也許apache'啓動'另一個用戶來處理請求兩個不同的主機帳戶。雖然這只是一個瘋狂的猜測,正如我所提到的,幾周後我將面臨同樣的情況;) – Ben