我目前正在編寫一個HTTP服務器在C中的UNIX套接字,我即將實現GET請求的一部分,檢查請求的文件確保它有適當的權限。編寫我自己的HTTP服務器 - 如何找到文件的相對路徑
在我知道關於HTTP服務器的任何信息之前,我建立了一個Apache服務器,並且據我瞭解,HTTP服務器只有一個目錄可以查找請求的文件。我不知道這是否是因爲服務器在目錄之外沒有任何權限,或者它實際驗證路徑以確保它位於目錄中。
現在,我即將實現這個我自己,我不知道如何正確處理這個。在C中有一個函數可以讓我確定一個路徑是否在給定的目錄中(例如內的foo/
)?
在Python中,我將使用os.path.relpath
並檢查結果是否以..
開頭,以確保路徑不在給定目錄之外。
例如,如果目錄爲/foo/bar/htdocs
,並且給定的路徑是index.html/../../passwords.txt
,我想../passwords.txt
,這樣我就可以從領先..
該文件是/foo/bar/htdocs
目錄外看到。
沒有C++?純粹的ansi c? – 2013-02-22 09:33:54
@RicardoOrtegaMagaña只是簡單的ANSI C,我的教師推薦這個或Java來完成一個任務。 – Darthfett 2013-02-22 09:38:11