2015-12-27 81 views
0

我有一個PHP文件,將某些值寫入我的數據庫。我使用CRON每20秒執行一次這個文件,但我不希望有人能夠到這個文件的位置並從網上執行它。我已將文件權限設置爲644,但我仍然可以訪問website.com/phpfile.php並將數據寫入數據庫。我怎樣才能防止公衆執行腳本?正確的PHP文件的文件權限,不允許公衆執行

+0

錯誤,把它放在webroot之外? – frz3993

+0

是的,我想我可以做到這一點,我只是想知道爲什麼644不行。 – Darkstar

回答

1

在現在使用的典型設置中,php腳本不需要執行權限位由http服務器執行。那是因爲請求不啓動腳本是一個基於操作系統的進程。相反,http服務器只讀取文件並將內容提供給作爲模塊加載的php引擎。所以唯一需要的權限是http服務器進程可以讀取腳本。

如果您使用php的方式使用CGI而不是http服務器模塊,情況會有所不同。但是這會造成嚴重的性能損失,這完全是因爲每個請求都需要分配一個新進程。