PHP跨域解決
阿新 • • 發佈:2021-01-12
先來了解一下什麼是跨域:
1.什麼是跨域?跨域:指的是瀏覽器不能執行其他網站的指令碼。它是由瀏覽器的同源策略造成的,是瀏覽器對javascript施加的安全限制。例如:a頁面想獲取b頁面資源,如果a、b頁面的協議、域名、埠、子域名不同,所進行的訪問行動都是跨域的,而瀏覽器為了安全問題一般都限制了跨域訪問,也就是不允許跨域請求資源。注意:跨域限制訪問,其實是瀏覽器的限制。理解這一點很重要!!!同源策略:是指協議,域名,埠都要相同,其中有一個不同都會產生跨域;
限制域名
1、允許單個域名訪問
header('Access-Control-Allow-Origin:https://blog.oioweb.cn');
2、允許多個域名訪問
$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : ''; $allow_origin = array('https://blog.oioweb.cn','https://my.oioweb.cn'); if(in_array($origin, $allow_origin)){ header('Access-Control-Allow-Origin:'.$origin); }
3、允許所有域名訪問
header('Access-Control-Allow-Origin:*');