本文目錄一覽:
- 1、php如何開發API接口
- 2、如何用PHP開發API接口
- 3、如何使用 php 開發 api
- 4、PHP 的API接口
- 5、php哪個框架適合做api
- 6、php開發api接口,如何做才算是安全的
php如何開發API接口
進入php源程序目錄中的ext目錄中,這裡存放着各個擴展模塊的源代碼,選擇你需要的模塊,比如curl模塊:cd curl
執行phpize生成編譯文件,phpize在PHP安裝目錄的bin目錄下
/usr/local/php5/bin/phpize
運行時,可能會報錯:Cannot find autoconf. Please check your autoconf installation and
the $PHP_AUTOCONF
environment variable is set correctly and then rerun this
script.,需要安裝autoconf:
yum install autoconf(RedHat或者CentOS)、apt-get install
autoconf(Ubuntu Linux)
/usr/local/php5/bin/php -v
執行這個命令時,php會去檢查配置文件是否正確,如果有配置錯誤,
這裡會報錯,可以根據錯誤信息去排查!
如何用PHP開發API接口
他會提供相應接口給你的,具體調用方法就相當於講求某個鏈接。act=get_user_listtype=json在這裡operate.php相當於一個接口,其中get_user_list 是一個API(獲取用戶列表),講求返回的數據類型為JSON格式。
act=get_user_listtype=json’;$ch = curl_init ();curl_setopt ( $ch, CURLOPT_URL, $url );curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, 10 );curl_setopt ( $ch, CURLOPT_POST, 1 ); //啟用POST提交$file_contents = curl_exec ( $ch );curl_close ( $ch );
如何使用 php 開發 api
比如一個自定義函數:function test(){echo 『hello world』;}就可以叫做 api。api 既可以是單個的函數,也可以是封裝在類里的方法,當然它們也是程序代碼。開發一個 api 的流程可以很簡單,也可以很複雜,視具體的編程任務而決定,並沒有特定的規則。比如,你需要為自己建立一個常用的函數庫,命名為 my.lib.php然後把你自己編寫的自定義函數,全部寫在這個文件裏面,那麼,你就擁有了自己的api。開發的時候,只需要引入 my.lib.php,你就可以調用自己的 api 了。這是一個比較簡單的例子。稍微複雜一點的,你可以把函數封裝在類裏面,方便繼承和重用,還可以根據函數名稱做一些程序設計,這個一句話說不清楚,給一個簡單的例子吧:class mylib{function showmy(){echo 『這是我的一個類方法』;}}調用的時候,先要實例化類,然後再調用方法。再複雜一點的就是使用類接口,區別就是接口裏面定義的只是方法原型,而你需要通過具體的類來實現接口中的函數,具體請參考 php 手冊,關於接口的介紹。還有一種接口不是通過直接訪問接口代碼來實現功能的,這就是我們常說的 web service,俗稱遠程調用:比如:我的一個網站 在這個網址里包含了我開放的一些接口,可以供網絡上的其它用戶來獲取我網站的會員信 息 等 , 假 設 這 個 接 口 名 叫 userinfo , 那 么 開 發 者 可 以 通 過 來獲取某一個會員的信息,當然具體的代碼肯定很多,這裡只是舉例子說明。尤其要着重說明的是,開發者不是通過直接訪問 來獲取用戶信息的,當向別人開發自己網站的接口時,你需要編寫一些接口文件,供別人來使用 ,一般可以通過 fsockopen 函數來實現。
PHP 的API接口
使用PHP寫api接口是經常做的,PHP寫好接口後,前台就可以通過鏈接獲取接口提供的數據,而返回的數據一般分為兩種情況,xml和json,在這個過程中,服務器並不知道,請求的來源是什麼,有可能是別人非法調用我們的接口,獲取數據,因此就要使用安全驗證
原理
從圖中可以看得很清楚,前台想要調用接口,需要使用幾個參數生成簽名。
時間戳:當前時間
隨機數:隨機生成的隨機數
口令:前後台開發時,一個雙方都知道的標識,相當於暗號
算法規則:商定好的運算規則,上面三個參數可以利用算法規則生成一個簽名。前台生成一個簽名,當需要訪問接口的時候,把時間戳,隨機數,簽名通過URL傳遞到後台。後台拿到時間戳,隨機數後,通過一樣的算法規則計算出簽名,然後和傳遞過來的簽名進行對比,一樣的話,返回數據。
算法規則
在前後台交互中,算法規則是非常重要的,前後台都要通過算法規則計算出簽名,至於規則怎麼制定,看你怎麼高興怎麼來。
我這個算法規則是
時間戳,隨機數,口令按照首字母大小寫順序排序
然後拼接成字符串
進行sha1加密
再進行MD5加密
轉換成大寫。
php哪個框架適合做api
在所有輕量級框架中,我推薦 CodeIgniter。 美中不足就是,框架入門極其簡單。但是,如果實現 完全的、優雅的 restful,門檻就有點兒高了。CodeIgniter 實現 restful 時,和底層的 HTTP 協議有些脫節,這些可以通過擴展框架來實現,而且有時候需要結合服務器去配置。
php開發api接口,如何做才算是安全的
這個問題很深
安全,不敢當,因為web安全問題很多,不僅僅是PHP編碼而已,有很多安全上的問題需要做處理,像服務器漏洞、端口開放都會導致被黑,這都是很正常的。
只能說 比如在我做PHP開發過程的一些安全保護和在網絡安全公司開發時的工作要求:
1、最基礎的,提供的api接口 要配置https。
2、api返迴響應的信息,要儘可能使用消息加密返回,如高位數的 rsa加密內容。
3、接收的回調開放接口,儘可能做到使用回調黑、白名單,如加ip白名單放行,或ip黑名單禁止訪問。
4、不要相信用戶輸入、輸入信息要進行編碼轉換、轉義、過濾、使用框架和插件進行處理,如MySQL查詢的要進行參數綁定、如顯示問題要避免xss攻擊會進行過濾。
5、授權操作,錯誤限制設置閥值、超過閥值限制訪問、如最基礎的登錄功能。
6、常見額弱口令問題導致漏銅,應設置高強度口令,避免程序爆破。
7、文件上傳問題、應嚴格校驗文件類型、後綴、格式、及文件目錄權限設置,從而避免文件上傳漏洞導致惡意代碼或webshell攻擊。
8、開發環境和生產環境隔開,不要再生產上面開debug、及時更新使用框架漏洞補丁如PHP國內常用 tp系列以前偶爾爆出漏洞(我用的較多就是tp5 ….),還有框架不要用最新要選擇最穩定的。
最後注意不管是驗證還是過濾,在客戶端執行過一次也好,在服務端,都要再次執行驗證和校驗。
和盛之文 我的文章保存網站,歡迎訪問學習或參考
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/193419.html