首頁 >後端開發 >PHP問題 >php怎樣禁止使用者直接存取文件

php怎樣禁止使用者直接存取文件

王林
王林原創
2019-09-12 17:44:413201瀏覽

php怎樣禁止使用者直接存取文件

為了確保我們用 PHP 寫的 API 的安全性,要禁止除了介面外的存取方式。

例如我們的專案為 example, 其下有資料夾 dir1、有個介面檔 api.php。結構為: 

php怎樣禁止使用者直接存取文件

這時候我們要求只能透過example/api.php 來呼叫file.php裡的服務,不能直接透過example/dir1/file .php來訪問。

在 php 裡有這樣一個變數$_SERVER,這是個數組變量,裡面有各種鍵值對,具體的可以搜尋一下資料。那我們現在可以透過$_SERVER裡的SCRIPT_NAME來取得腳本名稱。 $_SERVER['SCRIPT_NAME'],其值會是類似xxx/api.php,那麼我們就可以透過判斷存取連結是否含有api.php,來判斷這個訪問是否為合法的訪問,如果合法則繼續執行,不合法則阻斷。

具體程式碼如下:

if(strpos($_SERVER['SCRIPT_NAME'], 'api.php') === false){
  echo "error";
  exit;
}

在 file.php裡的開頭加入以上程式碼即可。

以上內容僅供參考!

更多相關問題請造訪php中文網:PHP影片教學

以上是php怎樣禁止使用者直接存取文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn