久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

php怎么實(shí)現(xiàn)禁止跨域訪問

這篇文章給大家分享的是有關(guān)php怎么實(shí)現(xiàn)禁止跨域訪問的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來(lái)看看吧。

作為一家“創(chuàng)意+整合+營(yíng)銷”的成都網(wǎng)站建設(shè)機(jī)構(gòu),我們?cè)跇I(yè)內(nèi)良好的客戶口碑。創(chuàng)新互聯(lián)提供從前期的網(wǎng)站品牌分析策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、創(chuàng)意表現(xiàn)、網(wǎng)頁(yè)制作、系統(tǒng)開發(fā)以及后續(xù)網(wǎng)站營(yíng)銷運(yùn)營(yíng)等一系列服務(wù),幫助企業(yè)打造創(chuàng)新的互聯(lián)網(wǎng)品牌經(jīng)營(yíng)模式與有效的網(wǎng)絡(luò)營(yíng)銷方法,創(chuàng)造更大的價(jià)值。

php實(shí)現(xiàn)禁止跨域訪問的方法是,判斷HTTP Referer,如果沒有Referer或者Referer是在非本地訪問的,那么就禁止訪問。

本文操作環(huán)境:windows10系統(tǒng)、php 7.3、thinkpad t480電腦。

我們可以通過如下兩種方式來(lái)實(shí)現(xiàn)禁止跨域訪問。

方法一:判斷 HTTP Referer

HTTP Referer是header的一部分,當(dāng)瀏覽器向web服務(wù)器發(fā)送請(qǐng)求的時(shí)候,一般會(huì)帶上Referer,告訴服務(wù)器我是從哪個(gè)頁(yè)面鏈接過來(lái)的,服務(wù)器以此可以獲得一些信息用于處理。

在 post 請(qǐng)求 “文件” 或 “函數(shù)” 的最開始地方加入判斷 HTTP Referer:以下為 php 代碼,不語(yǔ)言做法相同。

  • 沒有 Referer ,屬于直接訪問連接。如 http://www.a.com/ajax.php 返回 error

  • 有 Referer ,但不是本站訪問,Referer 不包含 a.com domain。返回 error

// 如果(沒有 Referer 或者 Referer 非本地訪問的)return 'error' 或 die() 程序結(jié)束
if(!isset($_SERVER['HTTP_REFERER']) || !strstr($_SERVER['HTTP_REFERER'], 'http://www.a.com/')){
    echo "error";
    die();
}

方法二:服務(wù)器端禁止跨域訪問

Nginx禁止跨域訪問某個(gè)PHP文件

location ~ \.php$ {
    ...

    #新增代碼 start -------------------------------------

    # 假設(shè) ajax.php 文件路徑是 /includes/ajax.php 和網(wǎng)站域名是 www.a.com

    # 新增一個(gè)變量 $nolocal 值為 1
    set $nolocal 1;

    #下面開始判斷,不是 POST 或者請(qǐng)求路徑不是 ajax.php 的路徑或者請(qǐng)求來(lái)源屬于本站域名時(shí),都設(shè)為 0

    #因?yàn)?nbsp;nginx 不支持多條件判斷,這里用三個(gè) if ~
    if ($request_method != POST) {
        set $nolocal 0;
    }
    if ($request_uri != /includes/ajax.php) {
        set $nolocal 0;
    }
    if ($http_referer ~* "www.a.com") {
        set $nolocal 0;
    }

    #經(jīng)過上面的篩選,值是 1 的,也就是本站外來(lái)源POST ajax.php 數(shù)據(jù)過來(lái),直接返回 403 拒絕處理
    #這樣,其他來(lái)源的請(qǐng)求就浪費(fèi)不了你的PHP進(jìn)程了。
    if ($nolocal) {
        return 403;
    }

    #新增代碼 end -------------------------------------

    ...
}

感謝各位的閱讀!關(guān)于“php怎么實(shí)現(xiàn)禁止跨域訪問”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

名稱欄目:php怎么實(shí)現(xiàn)禁止跨域訪問
新聞來(lái)源:http://sd-ha.com/article6/jjsoog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、建站公司、商城網(wǎng)站、軟件開發(fā)網(wǎng)站建設(shè)、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司