Ⅰ 如何用php開發API介面
他會提供相應介面給你的,具體調用方法就相當於講求某個鏈接。act=get_user_list&type=json在這里operate.php相當於一個介面,其中get_user_list 是一個API(獲取用戶列表),講求返回的數據類型為JSON格式。
act=get_user_list&type=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介面開發的問題
用Curl吧
$host = 'url';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $host);
// 返回結果
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
// 使用POST提交
curl_setopt($ch, CURLOPT_POST, 1);
// POST參數
$str = array('a=1','b=2','c=3');
curl_setopt($ch, CURLOPT_POSTFIELDS, $str);
// 結果
$res = curl_exec($ch);
curl_close($ch);
Ⅲ php開發api介面問題
其實你現在的 簽名校驗失敗的條件 也是作為 在其他設備登陸的依據的,如果要考慮token過期存在的情況,那就在token里加入時間戳,意思就是token里要有 原有的隨機字元串+時間戳,這兩個信息分別保存在 用戶列表的兩個欄位中,時間戳用來驗證是否過期,隨機字元串用來驗證token是否是最新的 從而判斷賬號是否在別的設備上登陸
Ⅳ php開發小程序api需要注意哪些
API,是應用程序介面的英文縮寫。通常API就是一些具體的函數。比如一個自定義函數:
function test(){
echo 『hello world』;
}
就可以叫做api。
api既可以是單個的函數,也可以是封裝在類里的方法,當然它們也是程序代碼。
開發一個api的流程可以很簡單,也可以很復雜,視具體的編程任務而決定,並沒有特定的規則。
你可以去後盾人平台看看,裡面的東西不錯
Ⅳ php如何開發API介面
比如一個自定義函數:function test(){echo 『hello world』;}就可以叫做 api。api 既可以是單個的函數,也可以是封裝在類里的方法,當然它們也是程序代碼。開發一個 api 的流程可以很簡單,也可以很復雜,視具體的編程任務而決定,並沒有特定的規則。比如,你需要為自己建立一個常用的函數庫,命名為 my.lib.php然後把你自己編寫的自定義函數,全部寫在這個文件裡面,那麼,你就擁有了自己的api。開發的時候,只需要引入 my.lib.php,你就可以調用自己的 api 了。這是一個比較簡單的例子。稍微復雜一點的,你可以把函數封裝在類裡面,方便繼承和重用,還可以根據函數名稱做一些程序設計,這個一句話說不清楚,給一個簡單的例子吧:class mylib{function showmy(){echo 『這是我的一個類方法』;}}調用的時候,先要實例化類,然後再調用方法。再復雜一點的就是使用類介面,區別就是介面裡面定義的只是方法原型,而你需要通過具體的類來實現介面中的函數,具體請參考 php 手冊
Ⅵ php怎麼做restapi 安全驗證
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
/*
* PHP簡單利用token防止表單重復提交
* 此處理方法純粹是為了給初學者參考
*/
session_start();
function set_token() {
$_SESSION[『token』] = md5(microtime(true));
}
function valid_token() {
$return = $_REQUEST[『token』] === $_SESSION[『token』] ? true : false;
set_token();
return $return;
}
//如果token為空則生成一個token
if(!isset($_SESSION[『token』]) || $_SESSION[『token』]==」) {
set_token();
}
if(isset($_POST[『test』])){
if(!valid_token()){
echo "token error";
}else{
echo 『成功提交,Value:』.$_POST[『test』];
}
}
?>
<form method="post" action="">
<input type="hidden" name="token" value="<?php echo $_SESSION[『token』]?>">
<input type="text" name="test" value="Default">
<input type="submit" value="提交" />
</form>
Ⅶ php api 怎麼防止被其它人請求
首先,安全起見,最好使用HTTPS通信,以防止中間人截獲。
其次,在HTTPS的前提下,對於API訪問許可權控制可以在,請求頭裡面添加一個欄位傳輸Token(或者直接放在URL裡面也行),該Token由伺服器分配,伺服器通過Token對用戶許可權進行許可權控制。
Token不合法,就不返回數據即可。
你可以去後盾人平台看看,裡面的東西不錯
Ⅷ PHP 的API介面
使用PHP寫api介面是經常做的,PHP寫好介面後,前台就可以通過鏈接獲取介面提供的數據,而返回的數據一般分為兩種情況,xml和json,在這個過程中,伺服器並不知道,請求的來源是什麼,有可能是別人非法調用我們的介面,獲取數據,因此就要使用安全驗證
原理
從圖中可以看得很清楚,前台想要調用介面,需要使用幾個參數生成簽名。
時間戳:當前時間
隨機數:隨機生成的隨機數
口令:前後台開發時,一個雙方都知道的標識,相當於暗號
演算法規則:商定好的運算規則,上面三個參數可以利用演算法規則生成一個簽名。前台生成一個簽名,當需要訪問介面的時候,把時間戳,隨機數,簽名通過URL傳遞到後台。後台拿到時間戳,隨機數後,通過一樣的演算法規則計算出簽名,然後和傳遞過來的簽名進行對比,一樣的話,返回數據。
演算法規則
在前後台交互中,演算法規則是非常重要的,前後台都要通過演算法規則計算出簽名,至於規則怎麼制定,看你怎麼高興怎麼來。
我這個演算法規則是
時間戳,隨機數,口令按照首字母大小寫順序排序
然後拼接成字元串
進行sha1加密
再進行MD5加密
轉換成大寫。
Ⅸ 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 ....),還有框架不要用最新要選擇最穩定的。
最後注意不管是驗證還是過濾,在客戶端執行過一次也好,在服務端,都要再次執行驗證和校驗。
和盛之文 我的文章保存網站,歡迎訪問學習或參考
Ⅹ 用PHP做伺服器介面客戶端用http協議POST訪問安全性一般怎麼做
1.請求頭里帶用戶username和password,到伺服器端做驗證,通過才繼續下邊業務邏輯。
優點:防止了伺服器端api被隨意調用。
缺點:每次都交互用戶名和密碼,交互量大,且密碼明文傳輸不安全。
2.第一次請求,要求username和password,驗證通過,種cookie到客戶端,app保存cookie值。
每次請求帶上cookie。
點評:和pc上瀏覽器認證的原理一樣了。
以上兩點,只有注冊用戶,才能有權訪問業務邏輯,而app有大量的不需要注冊數據api。