確保Laravel網(wǎng)站不會(huì)被嵌入到其他站點(diǎn)中的方法
HTTP 響應(yīng)頭部中,有一個(gè)字段,叫做 X-Frame-Options,該字段可以用來(lái)指示是否允許自己的網(wǎng)站被嵌入到其他網(wǎng)站的 <iframe> 或者 <object> 標(biāo)簽中。該頭部有三個(gè)值
- DENY - 始終不允許嵌入,即使是同一個(gè)域名
- SAMEORIGIN - 只能在相同域名中嵌入
- ALLOW-FROM uri - 設(shè)置允許的域
通常,可以在 HTTP 代理中進(jìn)行配置,比如 nginx
add_header X-Frame-Options SAMEORIGIN;
Laravel 自帶了用來(lái)「只允許同域名嵌入」的中間件,我們只需要在 /app/Http/Kernel.php 中添加即可
// /app/Http/Kernel.php protected $middleware = [ \Illuminate\Http\Middleware\FrameGuard::class, ];
該中間件的實(shí)現(xiàn)如下
<?php namespace Illuminate\Http\Middleware; use Closure; class FrameGuard { /** * Handle the given request and get the response. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return \Symfony\Component\HttpFoundation\Response */ public function handle($request, Closure $next) { $response = $next($request); $response->headers->set('X-Frame-Options', 'SAMEORIGIN', false); return $response; } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ThinkPHP查詢(xún)語(yǔ)句與關(guān)聯(lián)查詢(xún)用法實(shí)例
這篇文章主要介紹了ThinkPHP查詢(xún)語(yǔ)句與關(guān)聯(lián)查詢(xún)用法,以實(shí)例的形式常見(jiàn)的查詢(xún)方法,包括數(shù)組作為查詢(xún)條件及對(duì)象方式來(lái)查詢(xún)等技巧,需要的朋友可以參考下2014-11-11PHP輸出當(dāng)前進(jìn)程所有變量/常量/模塊/函數(shù)/類(lèi)的示例
PHP輸出當(dāng)前進(jìn)程所有變量、常量、模塊、函數(shù)、類(lèi)的示例2013-11-11讓CodeIgniter數(shù)據(jù)庫(kù)緩存自動(dòng)過(guò)期的處理的方法
按官方的說(shuō)法,緩存設(shè)置后永不過(guò)期,除非你調(diào)用方法主動(dòng)刪除。這篇文章主要介紹了CodeIgniter數(shù)據(jù)庫(kù)緩存自動(dòng)過(guò)期的處理,需要的朋友可以參考下2014-06-06PHP版單點(diǎn)登陸實(shí)現(xiàn)方案的實(shí)例
本篇文章主要介紹了PHP版單點(diǎn)登陸實(shí)現(xiàn)方案的實(shí)例,具有一定的參考價(jià)值,有需要的可以了解一下。2016-11-11php使用自帶dom擴(kuò)展進(jìn)行元素匹配的原理解析
這篇文章主要介紹了php使用自帶dom擴(kuò)展進(jìn)行元素匹配的原理解析,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05thinkphp3.2實(shí)現(xiàn)在線留言提交驗(yàn)證碼功能
這篇文章主要為大家詳細(xì)介紹了TP3.2寫(xiě)提交的驗(yàn)證碼驗(yàn)證,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07