Introduction
學習一個框架, Ray 的想法是, 在深入理解底層實作的原理之前, 應該先知道這個框架的 使用方法
; 先學習怎麼使用這個前人造的輪子, 再學習怎麼樣造一個輪子。
所以本篇文章重點在於細讀官方文件, 並將內容理解後以 Q&A 的方式記錄下來, 加速學習以及查詢。
Server Configuration
Nginx
server { |
add_header X-Frame-Options 的用途是?
用來指示文件是否能夠載入 <frame>, <iframe>, 以及 <object>
add_header X-Frame-Options header 中, SAMEORIGIN 的用途是?
唯有當符合同源政策下, 才能被嵌入到 frame 中
add_header X-Frame-Options header 中, DENY 的用途是?
表示文件無論如何都不可被嵌入到 frame 中, 即使自家網站也不行
add_header X-Frame-Options header 中, ALLOW-FROM uri 的用途是?
唯有列表許可的 URI 才能嵌入到 frame 中
add_header X-XSS-Protection “1; mode=block”, 1 代表什麼意思?
0: 禁用 XSS 保護
1: 啟用 XSS 保護
1; mode=blck; 啟用 XSS 保護, 並在檢查到 XSS 攻擊時, 停止渲染頁面add_header X-Content-Type-Options “nosniff”; 的用途?
網路上的資源有各種類型, 通常瀏覽器會根據 header 的 Content-Type 來分辨它們的類型。如:"text/html" 代表 html 文檔, "image/png" 是 PNG 圖片, "text/css" 是 CSS 樣式文檔。然而, 有些資源的 Content-Type 是錯的或者未定義。這時, 某些瀏覽器會啟用 MIME-sniffing 來猜測該資源的類型, 解析內容並執行。
例如, 我們即使給一個 html 文檔指定 Content-Type 為 "text/plain", 在 IE8 中這個文檔依然會被當做 html 來解析。利用瀏覽器的這個特性, 攻擊者甚至可以讓原本應該解析為圖片的請求被解析為 JavaScript 。通過下面這個響應頭可以禁用瀏覽器的類型猜測行為:
Optimization
Autoloader Optimization
- 部署 Production 環境時, 如何優化 Composer 的 class autoloader map?
composer install --optimize-autoloader --no-dev
Optimizing Configuration Loading
部署 Laravel 到 production 時, 如何優化 cache?
php artisan config:cache
當執行
php artisan config:cache
, .env 檔會失效, 那該如何在程式碼中使用 .env 呢? 可以寫在 config 裡
Optimizing Route Loading
- 當部署 Laravel 到 production 時, 該怎麼優化 route?
php artisan route:cache
留言