常見的前端安全問題

前端安全是 Web 開發中至關重要的一環,以下是常見的前端安全問題及對應的防御措施:


1. XSS(跨站腳本攻擊)

攻擊原理
攻擊者向頁面注入惡意腳本(如 JavaScript),在用戶瀏覽器中執行,竊取 Cookie、會話信息或篡改頁面內容。

類型

  • 存儲型 XSS:惡意腳本存儲在服務器(如評論區)。

  • 反射型 XSS:通過 URL 參數注入腳本。

  • DOM 型 XSS:直接操作 DOM 觸發漏洞。

防御措施

  • 輸入轉義:對用戶輸入的內容進行轉義(如?<?→?&lt;)。

  • Content Security Policy (CSP):通過 HTTP 頭限制腳本來源,禁止內聯腳本和未授權域。

    Content-Security-Policy: default-src 'self'; script-src 'self' trusted.com
  • 使用安全的框架:如 React/Vue 自動轉義 HTML,避免直接操作?innerHTML

  • 設置 HttpOnly Cookie:防止 JavaScript 讀取敏感 Cookie。


2. CSRF(跨站請求偽造)

攻擊原理
誘導用戶訪問惡意頁面,利用已登錄的 Cookie 偽造用戶身份發起請求(如轉賬)。

防御措施

  • CSRF Token:服務端生成隨機 Token 并驗證(如隱藏表單字段)。

  • SameSite Cookie 屬性:設置 Cookie 的?SameSite=Strict?或?Lax,限制跨域攜帶。

  • 驗證 Referer/Origin:檢查請求來源是否為合法域名。

  • 關鍵操作二次驗證:如短信驗證碼、密碼確認。


3. 點擊劫持(Clickjacking)

攻擊原理
通過透明 iframe 覆蓋在正常頁面上,誘導用戶點擊隱藏按鈕(如授權操作)。

防御措施

  • X-Frame-Options:通過 HTTP 頭禁止頁面被嵌入 iframe。

    X-Frame-Options: DENY
  • CSP 的 frame-ancestors 指令:限制頁面嵌入的父級來源。

    Content-Security-Policy: frame-ancestors 'self'

4. 不安全的第三方依賴

風險
第三方庫/插件可能包含漏洞或被篡改(如通過 CDN 加載惡意腳本)。

防御措施

  • 使用可信來源:從官方渠道獲取依賴。

  • 子資源完整性(SRI):校驗 CDN 資源哈希值。

    <script src="https://cdn.example.com/lib.js" integrity="sha384-xxxxx">
    </script>
  • 定期更新依賴:使用?npm audit?或工具(如 Snyk)掃描漏洞。


5. 不安全的本地存儲

風險
敏感數據(如 Token)存儲在?localStorage?或?sessionStorage?中,易被 XSS 竊取。

防御措施

  • 避免存儲敏感數據:優先使用?HttpOnly Cookie

  • 加密存儲數據:如需本地存儲,使用加密算法(如 AES)保護。


6. CORS 配置錯誤

風險
不當的跨域資源共享(CORS)配置導致數據泄露。

防御措施

  • 嚴格限制 Origin:僅允許可信域名訪問 API。

    Access-Control-Allow-Origin: https://your-domain.com
  • 避免通配符?*:除非必要,否則不開放全部域。


7. 輸入驗證不足

風險
未對用戶輸入進行驗證,導致 SQL 注入、命令注入等。

防御措施

  • 前后端雙重驗證:前端做基礎校驗(如格式、長度),后端做嚴格校驗。

  • 使用參數化查詢:防止 SQL 注入(后端責任,但需前后端協作)。


防御核心原則

  1. 最小權限原則:僅授予必要權限(如 API 訪問、Cookie 范圍)。

  2. 縱深防御:多層級防護(前端 + 后端 + 基礎設施)。

  3. 保持更新:定期更新依賴和工具鏈。

  4. 安全審計:使用自動化工具(如 OWASP ZAP)掃描漏洞。

通過以上措施,可以顯著降低前端安全風險。始終記住:前端安全需要與后端、運維協同防護,單一層面的防御不足以應對復雜攻擊。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/898250.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/898250.shtml
英文地址,請注明出處:http://en.pswp.cn/news/898250.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【VUE】ant design vue實現表格table上下拖拽排序

適合版本&#xff1a;ant design vue 1.7.8 實現效果&#xff1a; 代碼&#xff1a; <template><div class"table-container"><a-table:columns"columns":dataSource"tableData":rowKey"record > record.id":row…

深入解析ES6+新語法:復雜的迭代器與生成器

一、迭代器&#xff08;Iterator&#xff09;&#xff1a;數據遍歷的統一協議 1. 迭代器協議的本質 **迭代器協議&#xff08;Iterator Protocol&#xff09;** 是一種標準化的數據訪問接口&#xff0c;它要求對象實現一個 next() 方法&#xff0c;每次調用返回包含 { valu…

LangChain介紹(開源大語言模型LLM應用構建框架,提供完整工具和組件,使開發者能夠創建復雜、交互式且上下文感知的LLM應用)LangServe

文章目錄 LangChain&#xff1a;構建LLM應用的強大框架引言LangChain核心理念- 超越模型訓練數據的局限性- 訪問最新信息- 與外部系統交互- 執行復雜推理鏈 核心組件體系1. 模型&#xff08;Models&#xff09;- **LLMs**&#xff1a;如OpenAI、Anthropic、Cohere等提供的完成型…

微軟 System Center Configuration Manager(SCCM)的組件文件

微軟 System Center Configuration Manager(SCCM) 或 Microsoft Endpoint Configuration Manager(MECM) 的組件文件,屬于企業級設備管理工具的一部分。以下是具體說明: C:\Windows\CCM\smsswd.exe C:\Windows\CCM\tsmanager.exe smsswd.exe 和 tsmanager.exe 是 Micros…

Java設計模式建模語言面向對象設計原則

設計模式 設計模式的概念 設計模式最初用于建筑領域的設計中。 軟件的設計模式&#xff0c;又稱設計模式&#xff0c;是一套被反復使用&#xff0c;多數人知道的&#xff0c;經過分類編目的&#xff0c;代碼設計經驗的總結。 它描述了在軟件設計過程中的一些不斷重復發生的…

uniapp 實現微信小程序電影選座功能

拖動代碼 /*** 獲取點擊或觸摸事件對應的座位位置* 通過事件對象獲取座位的行列信息* param {Event|TouchEvent} event - 點擊或觸摸事件對象* returns {Object} 返回座位位置對象&#xff0c;包含行(row)和列(col)信息&#xff0c;若未找到有效位置則返回 {row: -1, col: -1}*…

Docker - 切換源 (Linux / macOS)

文章目錄 Linux 系統macOS 系統 Linux 系統 修改配置文件&#xff1a;/etc/docker/daemon.json "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com"]驗證是否修改成功&#xff1a; docker info重啟 …

RocketMQ的安裝及配置(windows)

1. 環境準備 JDK需要先安裝好。 1. RocketMQ是用Java語言寫的&#xff0c;所以需要JDK的支持。2. 下載RocketMQ 建議下載這個低版本的 https://rocketmq.apache.org/release-notes/2020/12/21/4.8.0/ 下載之后解壓即可&#xff0c;目錄結構如下&#xff1a; 3. 配置RocketM…

【運維自動化-標準運維】如何實現一個最簡單的流程編排

流程編排是標準運維最核心的功能&#xff0c;通過將不同功能的原子插件在畫布上可視化的拖拽編排&#xff0c;可以實現各種不同場景的跨系統工作流。標準運維流程 根據實際運維操作場景梳理出來的操作步驟&#xff0c;通過不同的流轉邏輯&#xff08;并行、分支、條件并行&…

性能測試之grafana展示jmeter測試指標與主機監控

性能測試之grafana展示jmeter測試指標與主機監控 背景 ? 公司新的項目準備開展性能測試,之前性能監控主要使用的jmeter的插件jpgc-Transactions per Second 與 jpgc- Response Times Over Time 與 jpgc - Active Threads Over Time等等插件監控性能指標結果,PerfMon Metrics…

1~2 課程簡介+ESP32-IDF環境搭建(虛擬機Linux環境下)

嗶站“宸芯IOT”視頻鏈接 一、課程內容介紹 1.什么是ESP32 ESP32是集成2.4GHz Wi-Fi和藍牙雙模的單芯片方案&#xff0c;具有超高的射頻性能、穩定性、通用性和可靠性&#xff0c;以及超低的功耗&#xff0c;滿足不同的功耗需求&#xff0c;適用于各種應用場景。ESP32是ESP8…

Vue3一個組件綁定多個 v-model,自定義 prop 和 event 名稱

Vue3一個組件綁定多個 v-model&#xff0c;自定義 prop 和 event 名稱 Vue3中v-model默認使用modelValue作為prop&#xff0c;update:modelValue作為事件&#xff0c;而Vue2使用的是value和input。此外&#xff0c;Vue3允許通過參數的方式為組件添加多個v-model綁定&#xff0…

YOLOv11小白的進擊之路(九)創新YOLO11損失函數之NWD損失函數源碼解讀

之前的博客也有對YOLO11的損失函數進行過源碼分析&#xff0c;可以參考&#xff1a;YOLOv11小白的進擊之路&#xff08;六&#xff09;創新YOLO的iou及損失函數時的源碼分析_yolov11的損失函數是什么-CSDN博客最近在做小目標檢測的時候注意到了NWD損失函數&#xff0c;這里對其…

VLN 論文精讀(四)Dynamic Path Navigation for Motion Agents with LLM Reasoning

這篇筆記用來描述2025年發表在arxiv上的一篇有關VLN領域的論文&#xff0c;由港科大和達特茅斯大學聯合發布&#xff0c;其核心思想有以下幾點&#xff1a; 將3D環境轉化為2D平面&#xff1b;2D平面中障礙物分布、機器人起點與終點信息用稀疏矩陣形式進行描述&#xff1b;與LL…

vue3之寫一個aichat ----vite.config.js

vite.config.js的CSS配置 postcss-pxtorem 開發響應式網頁的時候需要用到postcss-pxtorem amfe-flexible amfe-flexible是由阿里團隊開發的一個庫&#xff0c;它可以根據設備的屏幕寬度去動態調整HTML根元素()的字體大小&#xff0c;這意味著無論用戶使用什么尺寸的設備訪問你…

寶石PDF,全新 PC 版本,全部免費

寶石PDF已經運行 3 年時間&#xff0c;有客戶端&#xff0c;小程序&#xff0c;一直未上 PC 版本&#xff0c;隨著客戶端功能升級的不及時&#xff0c;很多用戶建議上 PC 版本。但是飛哥一直忙&#xff0c;這不終于給上了。 同時系統的名稱也從 “PDF云轉換”改為“寶石PDF”&…

.NET8使用EF Core連接SQLite

使用框架 .NET8 在nuget中&#xff0c;需要安裝包&#xff1a; SQLitePCLRaw.bundle_e_sqlite3&#xff0c;版本 2.1.10 Microsoft.EntityFrameworkCore.Sqlite.Core&#xff0c;版本 9.0.0 using Microsoft.Data.Sqlite; using Microsoft.EntityFrameworkCore; using Microso…

HTML課后實踐

實驗一 【實驗原理】 在搜索引擎的文本分析中&#xff0c;標題的信息權重要比正文的大&#xff0c;所以標題的樣式非常重要。本實驗通過把標題標記和常規文本進行對比輸出&#xff0c;掌握標題標簽的用法。在網頁中&#xff0c;有時需要為文字設置粗體、斜體或下劃線效果&#…

【紫光同創FPGA開發常用工具】FPGACPLD的下載與固化

文檔內容適配技術問題說明&#xff08;非正文&#xff09;&#xff1a; 1、FPGA&CPLD如何下載位流文件&#xff1b; 2、FPGA外部flash如何固化位流文件&#xff1b; 3、PDS軟件燒錄界面如何新增用戶flash&#xff1b; 4、CPLD內部flash如何固化位流文件&#xff1b; F…

前端傳參+后端接參對照

? Java 后端參數接收注解 & 前端傳參格式對照 后端注解前端 Content-Type前端傳參方式說明RequestParamapplication/x-www-form-urlencodedURL參數 / form表單提交 / Postman form-data常用于 keyvalue 形式的參數&#xff1b;適合少量簡單參數RequestParamURL拼接/api/t…