[英]laravel framework : is it safe to move index.php from public folder to the project root?
我知道公用文件夾存在是有原因的,但是我必須在共享主機上上傳laravel項目,並且我無權訪問服務器將主機根更改為public_html/public
因此必須從public_html加載
所以我已經將index.php和htaccss從公共目錄移到了根目錄,並且可以正常工作,但是現在任何人都可以直接訪問項目文件模型/控制器/等。。。我不確定這是否有害,但我知道它不是超級安全!
這樣做安全嗎? 除了獲得vps,還有其他選擇嗎?
請注意我只是一個程序員,這不是我決定將項目上傳到哪里,所以請不要談論這些天獲得vps有多便宜和容易!
1-將所有項目文件夾放在laravel
等單獨的文件夾中
2-將laravel文件夾移到public_html之前,使其無法訪問
3-將所有文件從公用文件夾移到項目根目錄(public_html),然后刪除公用文件夾
4-編輯index.php將../laravel添加到路徑
要回答您的問題,不。 不安全 根據服務器的設置方式,惡意用戶可能能夠將PHP文件下載為文本文件並讀取它們……包括DB密碼和SQL查詢結構之類的內容。 那很糟。 Web編程的一個公理是“永遠不要相信任何人,甚至不要相信自己”。 這包括您的服務器設置。 最佳實踐是將所有主要的PHP文件移至Web根目錄之外。
如果您不能執行此操作,則唯一的選擇是將所有文件向下推到Web根目錄內的某個級別(例如/web_root/secure_directories/.
),然后使用.htaccess
阻止除本地主機之外的所有人查看該目錄。 您的.htaccess
文件如下所示:
order deny,allow
deny from all
allow from 127.0.0.1
從理論上講,如果所有主要的PHP文件都在一個子文件夾中(該子文件夾隨后可能包含更多子文件夾),則只需要對“ top”文件夾執行此操作。
請注意,僅因為.htaccess
函數會使服務器速度變慢,所以獲得對Web根目錄之外目錄的訪問權限是理想的。 如果您沒有很多訪問者,它就不會引起注意...但是當您這樣做時,它會出現。
在根文件夾中,您只需要重命名文件
server.php
至
index.php
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.