摘要:表示該頁面可以在相同域名頁面的中展示。表示允許過濾器,指示瀏覽器在檢測到攻擊后禁止加載整個頁面。該文件也確實沒有必要記錄到日志中,而且大部分網站并不存在文件。
Laravel 5.5 版本官方放出了 Nginx 服務器的配置,中文文檔:服務器配置 Nginx
server { listen 80; server_name example.com; root /example.com/public; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options "nosniff"; index index.html index.htm index.php; charset utf-8; location / { try_files $uri $uri/ /index.php?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } error_page 404 /index.php; location ~ .php$ { fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.1-fpm.sock; fastcgi_index index.php; include fastcgi_params; } location ~ /.(?!well-known).* { deny all; } }
自己并不擅長 Nginx,相信很多朋友跟我一樣,讓我們一起學習下 Nginx 的相關知識 : )
1. add_header X-Frame-Options "SAMEORIGIN";X-Frame-Options 響應頭是用來給瀏覽器指示允許一個頁面可否在 ,
X-Frame-Options 有三個值:
DENY
表示該頁面不允許在 frame 中展示,即便是在相同域名的頁面中嵌套也不允許。
SAMEORIGIN
表示該頁面可以在相同域名頁面的 frame 中展示。
ALLOW-FROM uri
表示該頁面可以在指定來源的 frame 中展示。
該響應頭設置應該比較常見,之前國外客戶的安全團隊有使用工具掃描我們項目的相關漏洞,其中就有這個 clickjacking 的問題,最終也是通過該設置來解決此問題。
2. add_header X-XSS-Protection "1; mode=block";XSS 是跨站腳本攻擊,是比較常見的網絡攻擊手段,改字段指示瀏覽器是否為當前頁面開啟瀏覽器內建的 XSS 過濾機制。 1 表示允許過濾器,mode=block 指示瀏覽器在檢測到 XSS 攻擊后禁止加載整個頁面。
參考文章: 先知XSS挑戰賽 知識點提要
3. add_header X-Content-Type-Options "nosniff";該響應頭設置禁用瀏覽器對 Content-Type 類型進行猜測的行為。因為很多情況下服務器并沒有很好的配置 Content-Type 類型,因此瀏覽器會根據文檔的數據特征來確定類型,比如攻擊者可以讓原本解析為圖片的請求被解析為 JavaScript。
我們發現以上三個比較常見的防攻擊配置,還是非常實用的,建議使用,之前我們的服務器只使用了 add_header X-Frame-Options "SAMEORIGIN"; 配置。4. 不記錄 favicon.ico 和 robots.txt 日志
location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; }
favicon.ico 網站頭像,默認是瀏覽器標簽頁上網站小圖標以及收藏時顯示的小圖標。
如果未在html header中指定 favicon.ico 那么瀏覽器默認會去訪問 http://xxx.com/favicon.ico , 不存在此文件的話,那么會導致404,同時會記錄到 access_log 和 error_log 中。這種記錄到日志文件中是沒有必要性的,因此可以取消。
robots.txt 通常是搜索引擎蜘蛛(爬蟲)會去爬取的文件,在行業規范中,蜘蛛去爬取一個網站的時候會首先爬取該文件來獲知網站中哪些目錄文件不需要爬取,在 SEO 中 robots.txt 的正確配置是對 SEO 非常有效果的。該文件也確實沒有必要記錄到日志中,而且大部分網站并不存在 robots.txt 文件。
以上這些配置是可以用在大部分的網站上的,不止是 Nginx 服務器,相信 Apache 服務器也有相關的配置,如果你正在用其他web服務器,以上類似的配置也建議使用。討論交流
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39672.html
摘要:表示該頁面可以在相同域名頁面的中展示。表示允許過濾器,指示瀏覽器在檢測到攻擊后禁止加載整個頁面。該文件也確實沒有必要記錄到日志中,而且大部分網站并不存在文件。 Laravel 5.5 版本官方放出了 Nginx 服務器的配置,中文文檔:服務器配置 Nginx server { listen 80; server_name example.com; root /e...
摘要:最適合入門的初級教程二看這篇文章的時候你需要安裝好配置好本地環境環境搞定后咱來說的下載這里先解決一些童鞋可能有的疑惑的版本更新的那么快從到現在的了我應該下載那個學習呢新出的版本的文檔資料豐富么作為一個過來人可以大膽的說學習最新版本沒問題除了 最適合入門的 Laravel 初級教程 (二) 看這篇文章的時候;你需要安裝好 composer ;配置好本地環境; 環境搞定后; 咱來說lara...
showImg(https://segmentfault.com/img/bV6aHV?w=1280&h=800); 社區優秀文章 Laravel 5.5+passport 放棄 dingo 開發 API 實戰,讓 API 開發更省心 - 自造車輪。 API 文檔神器 Swagger 介紹及在 PHP 項目中使用 - API 文檔撰寫方案 推薦 Laravel API 項目必須使用的 8 個...
摘要:已經集成需要使用的環境,只需要簡單修改配置就能搭建環境提供開發,對開發及管理來說真是一味良方。目前能正常訪問文件。 為何用docker? 在電腦還是window系統的時候,經常需要基于vm服務搭建一套環境才能更好地(應該是更貼近線上環境)進行開發,而現在在docker的神秘光環底下已經能實現用最小的資源搭建本地開發環境,同時能更好地遷移到其他地方。 前置知識 了解docker安裝及使...
摘要:已經集成需要使用的環境,只需要簡單修改配置就能搭建環境提供開發,對開發及管理來說真是一味良方。目前能正常訪問文件。 為何用docker? 在電腦還是window系統的時候,經常需要基于vm服務搭建一套環境才能更好地(應該是更貼近線上環境)進行開發,而現在在docker的神秘光環底下已經能實現用最小的資源搭建本地開發環境,同時能更好地遷移到其他地方。 前置知識 了解docker安裝及使...
閱讀 695·2021-11-15 11:37
閱讀 3316·2021-10-27 14:14
閱讀 6039·2021-09-13 10:30
閱讀 2961·2021-09-04 16:48
閱讀 1926·2021-08-18 10:22
閱讀 2125·2019-08-30 14:19
閱讀 729·2019-08-30 10:54
閱讀 1745·2019-08-29 18:40