什么是跨域? 出現(xiàn)原因及解決方法
如:https://blog.moonlet.cn:80
協(xié)議、域名、端口三者之間的任意一個與當前頁面url不同即為跨域。例如:

同源策略(Same Orgin Policy)是一種約定,它是瀏覽器核心也最基本的安全功能,它會阻止一個域的js腳本和另外一個域的內(nèi)容進行交互,如果缺少了同源策略,瀏覽器很容易受到XSS、CSFR等攻擊。
所謂同源(即在同一個域)就是兩個頁面具有相同的協(xié)議(protocol)、主機(host)和端口號(port)。
無法讀取非同源網(wǎng)頁的cookie、localstorage等
無法接觸非同源網(wǎng)頁的DOM和js對象
無法向非同源地址發(fā)送Ajax請求
正向代理:a-->b訪問不了,可以找個中間的服務器c, 先訪問c再從c到b,類似曲線救國。
明確訪問的目的地,但是用戶不知道中間的代理服務器。(忽略中間服務器)
反向代理:a--> c <--bnginx是靜態(tài)服務器,跨域請求放在api下面好管理http://www.baidu.com:80/api/user
可以在nginx下面的config下面的nginx.conf里面配置
從80端口進來的就攔截一下,代理到81端口
server{
location /api {
//攔截一下
proxy_pass http://www.baidu.com:81;
}
}
access-control-allow-origin
access-control-max-age
PHP端修改header:
header('Access-Control-Allow-Origin:*');//允許所有來源訪問
header('Access-Control-Allow-Method:POST,GET');//允許訪問的方式實現(xiàn)原理:通常為了減輕web服務器的負載,我們把js、css、圖片等靜態(tài)資源分離到另一臺獨立域名的服務器上,在html頁面中再通過相應的標簽從不同域名下加載靜態(tài)資源,而被瀏覽器允許。
評論
圖片
表情
