国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > 建站經(jīng)驗 > 正文

Apache中配置支持CORS(跨域資源共享)實例

2019-11-02 15:52:06
字體:
供稿:網(wǎng)友

當(dāng)使用ajax跨域請求時,瀏覽器報錯:XmlHttpRequest error: Origin null is not allowed by Access-Control-Allow-Origin.肯定是跨域的問題,如果用jsonp或者proxy的方式進(jìn)行修改的話未免需要太大的工程量,所以采用CORS這種比較簡單高效的技術(shù)。相比JOSP的方式,CORS更為高效。JSONP由于它的原理只能實現(xiàn)GET請求,而CORS支持所有類型的HTTP請求。使用CORS,可以使用普通的ajax實現(xiàn)跨域,這對于前端來說是極大的福音了,這個技術(shù)被現(xiàn)在大多數(shù)瀏覽器所普遍支持,因為跨域已經(jīng)是普遍的要求,瀏覽器肯定會逐漸流出適當(dāng)?shù)摹箝T'出來專門用以跨域。

瀏覽器支持情況

經(jīng)本人測試IE瀏覽器中IE10及以上才可正常發(fā)送請求

1.服務(wù)器端對于CORS的支持,是通過設(shè)置Access-Control-Allow-Origin來進(jìn)行的。如果瀏覽器檢測到相應(yīng)的設(shè)置,就可以允許Ajax進(jìn)行跨域的訪問,也就是相應(yīng)的‘后門'。

設(shè)置Apache:Apache需要使用mod_headers模塊來激活HTTP頭的設(shè)置,它默認(rèn)是激活的。你只需要修改Apache配置文件中的httpd.conf文件:

原始代碼

復(fù)制代碼 代碼如下:

<Directory />

AllowOverride none

Require all denied

</Directory>

改為下面代碼

復(fù)制代碼 代碼如下:

<Directory />

Require all denied

Header set Access-Control-Allow-Origin *

</Directory>

 

在處理請求的PHP文件中設(shè)置:

復(fù)制代碼 代碼如下:

<?php

    header("Access-Control-Allow-Origin:*");

    //處理請求輸出數(shù)據(jù)

?>

配置的含義是允許任何域發(fā)起的請求都可以獲取當(dāng)前服務(wù)器的數(shù)據(jù)。當(dāng)然,這樣有很大的危險性,惡意站點可能通過XSS攻擊我們的服務(wù)器。所以我們應(yīng)該盡量有針對性的對限制安全的來源,例如下面的設(shè)置使得只有http://jb51.net/這個域才能跨域訪問服務(wù)器的API。

httpd.conf中:

復(fù)制代碼 代碼如下:

Header set Access-Control-Allow-Origin http://www.jb51.net

php文件中:

復(fù)制代碼 代碼如下:

<?php

header("Access-Control-Allow-Origin:http://www.jb51.net");

前臺代碼:

復(fù)制代碼 代碼如下:

<script type="text/javascript">

function createCORSRequest(method, url) {

var xhr = new XMLHttpRequest();

if ("withCredentials" in xhr) {

// 此時即支持CORS的情況

// 檢查XMLHttpRequest對象是否有“withCredentials”屬性

// “withCredentials”僅存在于XMLHTTPRequest level 2對象里

} else {

// 否則檢查是否支持XDomainRequest

// XDomainRequest僅存在于IE中,是IE用于支持CORS請求的方式

xhr = new XDomainRequest();

}

xhr.open(method, url, true);

xhr.send();

xhr.onload = function(){

alert(xhr.responseText);

}

}

createCORSRequest('GET', "http://192.168.1.58/t.php");

</script>

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 连州市| 洮南市| 海丰县| 会东县| 金秀| 工布江达县| 万荣县| 铁岭市| 黔西| 汪清县| 徐闻县| 虞城县| 阳东县| 荆门市| 石棉县| 金阳县| 桃园县| 昭苏县| 永春县| 阿鲁科尔沁旗| 城市| 六枝特区| 隆回县| 根河市| 镇安县| 南安市| 日照市| 武功县| 海城市| 施甸县| 五寨县| 合作市| 栾城县| 洞头县| 冀州市| 沧源| 凌云县| 宣汉县| 方山县| 慈利县| 双流县|