詳解PHP防止直接訪問.php 文件的實(shí)現(xiàn)方法
詳解PHP防止直接訪問.php 文件的實(shí)現(xiàn)方法
為了保證我們用 PHP 寫的 API 的安全性要禁止除了接口外的訪問方式.
比如我們的項(xiàng)目為 example, 其下有文件夾 dir1、有個(gè)接口文件 api.php. 結(jié)構(gòu)為: 輸入圖片說明
這時(shí)候我們要求只能通過 example/api.php 來調(diào)用file.php里的服務(wù),不能直接通過example/dir1/file.php來訪問.
在 php 里有這樣一個(gè)變量$_SERVER,這是個(gè)數(shù)組變量, 里面有各種鍵值對(duì), 具體的可以搜索一下資料. 那么我們現(xiàn)在可以通過$_SERVER里的SCRIPT_NAME來獲取腳本名稱. $_SERVER['SCRIPT_NAME'],其值會(huì)是類似 xxx/api.php,那么我們就可以通過判斷訪問鏈接里是否含有api.php來判斷這個(gè)訪問是否為合法的訪問, 如果合法則繼續(xù)執(zhí)行, 不合法則阻斷.
具體代碼如下:
if(strpos($_SERVER['SCRIPT_NAME'], 'api.php') === false){ echo "error"; exit; }
在 file.php里的開頭添加上以上代碼即可.
以上就是PHP防止直接訪問.php 文件的實(shí)現(xiàn)方法,如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
jQuery+PHP實(shí)現(xiàn)圖片上傳并提交功能
這篇文章主要介紹了jQuery加PHP實(shí)現(xiàn)圖片上傳并提交實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07PHP 7.1中AES加解密方法mcrypt_module_open()的替換方案
這篇文章主要給大家介紹了關(guān)于PHP 7.1中AES加解密方法mcrypt_module_open()替換方案的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10解析PHP中數(shù)組元素升序、降序以及重新排序的函數(shù)
本篇文章是對(duì)PHP中數(shù)組元素升序、降序以及重新排序的函數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06PHP實(shí)踐教程之過濾、驗(yàn)證、轉(zhuǎn)義與密碼詳解
我們?cè)陂_發(fā)應(yīng)用時(shí),一般有個(gè)約定:不要信任任何來自不受自己控制的數(shù)據(jù)源中的數(shù)據(jù)。所以這個(gè)時(shí)候就用到了這篇文章介紹的內(nèi)容,本文主要給大家介紹了關(guān)于PHP實(shí)踐教程之過濾、驗(yàn)證、轉(zhuǎn)義與密碼的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-07-07解決PHP在DOS命令行下卻無法鏈接MySQL的技術(shù)筆記
前段時(shí)間,由于要用 php 進(jìn)行 Shell 編程時(shí),碰到了 PHP 在 WEB 下可以連接 MySQL 而在 DOS COMMAND 命令行下卻連接失敗的問題。2010-12-12