之前寫過利用 JSONP 達成跨域抓資料的文章 (連結在此),今天來介紹另一種跨域抓資料的方式 CORS,這個方式也是 W3 推薦的,使用方法很簡單...
前端 JS: (https://aaaa.aaa.com/a.html)
$.ajax({
url:"https://bbb.bbb.com/b.php",
dataType:"json",
success:function(data){
console.log(data);
}
});
後端 PHP: (https://bbb.bbb.com/b.php)
$arr = array('a', 'b', 'c');
header('Access-Control-Allow-Origin: https://aaa.aaa.com');
echo json_encode($arr);
說明:
重點在後端 要在 Header 多一個"Access-Control-Allow-Origin"設定,如果要開放給全世界所有人查詢,可以下
header('Access-Control-Allow-Origin: *');
這邊要強調一下,這個設定只能防君子不能防小人,所以不能依賴它來作為資料安全性防禦措施。
這個 Header 只是後端API用來告訴前端瀏覽器可不可以取得資料,如果有一個駭客不是透過瀏覽器,而是直接打後端API,一樣可以取到資料。
No comments:
Post a Comment