伊莉討論區

標題: 關於Safe Browsing APIs [打印本頁]

作者: h4674156    時間: 2017-9-28 01:13 AM     標題: 關於Safe Browsing APIs

本帖最後由 h4674156 於 2017-9-28 01:14 AM 編輯

各位前輩好
最近在嘗試這個
但是一直都沒有辦法成功
  1. <?php
  2. $TestUrl=$_GET["url"];
  3. $apikey = "YOUR_API_KEY";

  4. $data='{
  5.         "client":{"clientId": "SafeiZO","clientVersion": "1.0"},
  6.         "threatInfo":{
  7.                 "threatTypes":["MALWARE", "SOCIAL_ENGINEERING"],
  8.                 "platformTypes":["WINDOWS"],
  9.                 "threatEntryTypes":["URL"],
  10.                 "threatEntries":[{"url": "'.$TestUrl.'"}]
  11.         }
  12. }';

  13. $url_api ="https://safebrowsing.googleapis.com/v4/threatMatches:find?key=".$apikey."";


  14. function GETData($url, $post){
  15.         $ch=curl_init();
  16.         curl_setopt($ch, CURLOPT_URL, $url);
  17.         curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json", 'Content-Length: ' . strlen($post)));
  18.         curl_setopt($ch, CURLOPT_POST, 1);
  19.         curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
  20.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  21.         $result=curl_exec($ch);
  22.         return $result;
  23. }

  24. $GOtest=GETData($url_api, $data);
  25. $str=json_decode($GOtest);
  26. $stats=$str->matches[0]->threatType;
  27. if(isset($stats)){echo"該網頁已受感染";}
  28. ?>
複製代碼


url輸入:http://127.0.0.1:8899/safe_api.php?url=https://google.com.tw
測試結果:
Notice: Undefined property: stdClass:matches in D:\xampp\htdocs\safe_api.php on line 31
Notice: Trying to get property of non-object in D:\xampp\htdocs\safe_api.php on line 31

小弟是從這邊去參考的
https://izo.tw/google-safe-browsing-api/

感覺站長沒有完整給範例Code
想詢問前輩該怎麼修改才能夠測試成功呢?

作者: johnwanz    時間: 2017-9-28 09:36 AM

先確認, $apikey = "YOUR_API_KEY"; 已有正確的API KEY?
Safe Browsing APIs (v4) - Get started

再參考, 官網說明,
Safe Browsing Lookup API (v4)

把$GOtest, 跟$str都先顯示出來, 做分析吧. 或許回傳就已經可以發現問題.

一般來說, 外部讀回來的資料, 不是同一個系統的, 應該先做些檢查, 是否為空, 格式符合或是否包含錯誤訊息等.




歡迎光臨 伊莉討論區 (http://www93.eyny.com/) Powered by Discuz!