header('Access-Control-Allow-Origin: https://example.com'); header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE'); header('Access-Control-Allow-Credentials: true');上述代碼中,我們設置了允許響應的域名為https://example.com,允許的方法為GET、POST、PUT、DELETE,以及允許帶上credentials(例如Cookie、HTTP認證等)信息。 同時,我們需要在前端發起請求時添加以下代碼:
xhr.withCredentials = true;這樣就可以在跨域請求中帶上credentials信息了。 另外,需要注意的是,在使用CORS時,如果允許攜帶credentials信息,Access-Control-Allow-Origin不能為*,必須指定為明確的域名。如果使用*,則瀏覽器不會發送credentials信息。 在使用CORS時,我們還需要特別注意跨域請求的安全性。CORS可以防止一些跨站腳本攻擊(XSS),但是如果響應頭不設置好的話,可能會引發一些安全問題。例如,在Access-Control-Allow-Origin中設置為*,可能會導致一些中間人攻擊(MITM)的問題,因為這使得任何網站都可以訪問API。 最后,CORS是跨域請求的一種重要方案,但不是萬能的解決方案,在實際開發中,我們還需要結合其他方案來實現一些特定的需求。
下一篇php cors