如何檢查文件(輸入)是否在C程序的目錄中? 首先我想我可以打開文件,但我不希望用戶通過輸入類似../important_dir/important_file
來看到我的其他文件,但如果用戶執行諸如./dir1/../file1
之類的操作,也許可以。也就是說,只要該文件位於當前目錄(無子目錄),就可以打開該目錄。如何檢查一個文件是否在C中的當前目錄?
然後,我四處搜索,發現readdir
,它可以用來查找當前目錄中的所有內容,但是,如果當前目錄中有很多文件,那麼每次獲取用戶時查找文件名都會太慢輸入。
有沒有快速和安全的方法來做到這一點?
嗨,我試圖不允許用戶檢查我的文件不在當前目錄中,似乎stat會接受一個路徑,只要它是有效的,所以它會給用戶文件,如'../dir3/file4',這不是我所期望的。 – user1537085 2013-03-13 09:01:56