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

首頁 > 網站 > Apache > 正文

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

2024-08-27 18:23:31
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Apache中配置支持CORS(跨域資源共享)實例,本文給出了一個完整的apache、PHP、JavaScript結合實現的跨域資源共享實例,需要的朋友可以參考下

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

瀏覽器支持情況

經本人測試IE瀏覽器中IE10及以上才可正常發送請求

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

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

原始代碼
復制代碼 代碼如下:
<Directory />
AllowOverride none
Require all denied
</Directory>

改為下面代碼
復制代碼 代碼如下:
<Directory />
Require all denied
Header set Access-Control-Allow-Origin *
</Directory>

 

在處理請求的PHP文件中設置:
復制代碼 代碼如下:
<?php
    header("Access-Control-Allow-Origin:*");
    //處理請求輸出數據

?>

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

httpd.conf中:
復制代碼 代碼如下:
Header set Access-Control-Allow-Origin //www.iis7.com

php文件中:

復制代碼 代碼如下:
<?php
header("Access-Control-Allow-Origin://www.iis7.com");

前臺代碼:
復制代碼 代碼如下:
<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>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 盘锦市| 稻城县| 砀山县| 威远县| 南木林县| 抚顺县| 乐山市| 洪湖市| 临江市| 健康| 将乐县| 喀什市| 玛纳斯县| 虞城县| 二连浩特市| 峨眉山市| 泾川县| 蕲春县| 柏乡县| 高密市| 晴隆县| 武安市| 克什克腾旗| 苏尼特左旗| 察隅县| 交城县| 洪洞县| 延津县| 龙山县| 邹城市| 宁乡县| 邳州市| 齐齐哈尔市| 林州市| 堆龙德庆县| 宜城市| 景泰县| 陵水| 行唐县| 彰化县| 泾川县|