摘要:在中,元素就是。標(biāo)簽包括一個(gè)元素,包括一個(gè)文本節(jié)點(diǎn)。攻擊和注入攻擊。解決辦法可以判斷和是否相等來(lái)判斷站點(diǎn)是否處于中。
HTML 簡(jiǎn)介 HTML 歷史
最初的 HTMl 是由 CERN 負(fù)責(zé)制定的,后來(lái)轉(zhuǎn)交給 IETF。
在 1990-1995 年期間, HTML 經(jīng)歷了許多次的版本修改與擴(kuò)充;
1995 年的時(shí)候 HTML 的版本更新到了 HTML3.0;1997 年又完成了 HTML3.2;
同年也完成了 HTML4;次年,W3C 決定停止發(fā)展 HTML,轉(zhuǎn)向和 XML 等效的 XHTML,XHTML1.0 在 2000 年制訂完成;
發(fā)布了 XHTML1.0 后,在 XHTML 模塊化的旗幟下,W3C 發(fā)布了與 HTML 和 XHTML 不兼容的 XHTML2.0;
在 2003 年,XForms 的發(fā)布重新點(diǎn)燃了人們對(duì)于 HTML 的興趣,人們意識(shí)到 XML 僅僅適合被用作新技術(shù)(如 RSS,Atom)的載體,而不適合用來(lái)替換現(xiàn)有的技術(shù)(如 HTML);
2004 年的 W3C 的研討會(huì)上一些 HTML5 的早期提案被提交給 W3C,但是被 W3C 以該提案與其發(fā)展理念相沖突為由給拒絕,于是 W3C 決定繼續(xù)開(kāi)發(fā) XHTML;
隨后 Apple,Mozilla 和 Opera 一起創(chuàng)建了 WHATWG,版權(quán)為三個(gè)創(chuàng)始公司所有,WHATWG 的幾個(gè)基本原則:保持向下兼容,修改規(guī)范而不是實(shí)現(xiàn),規(guī)范必須足夠詳細(xì)防止實(shí)現(xiàn)規(guī)范的公司互相去逆向;WHATWG 要求 HTML5 規(guī)范包括 HTML4,XHTML1.0 和 DOM2HTML;
2006 年 W3C 表示了對(duì) HTML5 開(kāi)發(fā)的興趣,在 2007 年和 WHATWG 組建了一個(gè)工作組來(lái)開(kāi)發(fā) HTML5 規(guī)范,WHATWG 的三個(gè)創(chuàng)始人公司也允許 W3C 將 HTML5 規(guī)范掛到 W3C 的名義下;
兩個(gè)團(tuán)隊(duì)一起工作了多年,直到 2011 年,兩個(gè)團(tuán)隊(duì)出現(xiàn)了分歧,W3C 希望將 HTML5 定位為 HTML 系列的最后一個(gè)規(guī)范,而 WHATWG 希望繼續(xù)改進(jìn)和迭代 HTML5 規(guī)范。兩個(gè)團(tuán)隊(duì)也一起工作到現(xiàn)在。
HTML 的可擴(kuò)展性HTML 提供了很廣泛的擴(kuò)展性支持來(lái)為 HTML 文檔增添語(yǔ)義化的支持:
使用 class 屬性來(lái)拓展元素的含義與行為,但是使用更加符合語(yǔ)義的元素可以幫助游覽器以及其它插件更好的識(shí)別出元素所代表的含義與行為。
使用 data-*="" 來(lái)將數(shù)據(jù)綁定到元素上,HTML 也提供了相應(yīng)的 API 來(lái)查詢(xún)和修改這些數(shù)據(jù)。
使用 來(lái)定義元數(shù)據(jù)。
使用 rel="" 注明擴(kuò)展文檔的預(yù)定義類(lèi)型。
使用
HTML 本身是獨(dú)立于與其交互的媒體的。HTML 可能會(huì)被渲染到屏幕,語(yǔ)音合成器,或者在盲文顯示屏上。為了控制在不同的媒體上需要 HTML 被展示成什么樣子,你需要樣式語(yǔ)言(如:CSS)。
HTML 安全Sample styled page Sample styled page
This page is just a demo.
HTML 在樣式語(yǔ)言和腳本語(yǔ)言的作用下變得可以交互之后,一堆安全問(wèn)題也隨之出現(xiàn);Web 安全模型是基于源("origins")的概念;許多 Web 攻擊都是和跨域相關(guān)。
XSS 攻擊和 SQL 注入攻擊。
XSS 通過(guò)向 HTML 注入腳本或其他用戶(hù)代理能識(shí)別的信息來(lái)改變 HTML;如果這段注入能被保存的話(huà),其他用戶(hù)會(huì)受到降維打擊;
SQL注入 常常利用表單的提交將輸入信息提交到 Web 服務(wù)器后,在將信息保存到數(shù)據(jù)庫(kù)時(shí),由于代碼沒(méi)有過(guò)濾輸入可能會(huì)導(dǎo)致攻擊者修改數(shù)據(jù)庫(kù)中的信息。
?
解決方法:過(guò)濾用戶(hù)輸入,以及用戶(hù)信息的輸出。
CSRF 攻擊
由于 HTML 表單的提交可以發(fā)生在任意的站點(diǎn)上,并且提交會(huì)附帶上對(duì)應(yīng)站點(diǎn)的 cookie;因此當(dāng)用戶(hù)訪(fǎng)問(wèn)某些惡意站點(diǎn)時(shí),站點(diǎn)可以偷偷提交用戶(hù)訪(fǎng)問(wèn)過(guò)的一些網(wǎng)站(如購(gòu)物網(wǎng)站)的 HTML 表單;使得用戶(hù)在無(wú)意識(shí)中受到降維打擊。
?
解決方法:Web 服務(wù)器檢查提交的站點(diǎn)的 Origin 字段是否來(lái)自于收信任的站點(diǎn),否則應(yīng)該拒絕;由于攻擊方只是利用用戶(hù)代理在提交表單時(shí)會(huì)提交 cookie,本身并不知道 cookie 的值,因此可以在表單里加上一段隱藏 token 來(lái)來(lái)驗(yàn)證是否是本站點(diǎn)的提交,隱藏 token 可以是 cookie 哈希后得到。
點(diǎn)擊劫持
惡意占地那利用一些信息誘導(dǎo)用戶(hù)點(diǎn)擊,然后觸發(fā)一些用戶(hù)不希望看到的行為。
如:用戶(hù)進(jìn)入一個(gè)網(wǎng)站,顯示一個(gè)游戲,有一個(gè)開(kāi)始按鈕,當(dāng)用戶(hù)點(diǎn)擊后可能被誘導(dǎo)至購(gòu)物網(wǎng)站;或者將受害網(wǎng)站放在一個(gè) iframe 里,當(dāng)用戶(hù)點(diǎn)擊時(shí),迅速將 iframe 移動(dòng)至鼠標(biāo)下方。
解決辦法:可以判斷 top 和 window 是否相等來(lái)判斷站點(diǎn)是否處于 iframe 中。
最后荊軻刺秦王~
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/50996.html
摘要:前言一個(gè)包含的簡(jiǎn)單,從第一個(gè)開(kāi)始,依次深入學(xué)習(xí),即可快速上手強(qiáng)大的。 前言 一個(gè)包含 vue-router的簡(jiǎn)單demos,從第一個(gè)demo開(kāi)始,依次深入學(xué)習(xí),即可快速上手強(qiáng)大的vue-router。 如何使用 安裝模塊pure 或 http-server來(lái)啟動(dòng)服務(wù)器npm install -g puer or npm install -g http-server 克隆倉(cāng)庫(kù) 啟動(dòng)服...
webpack在單頁(yè)面打包上應(yīng)用廣泛,以create-react-app為首的腳手架眾多,單頁(yè)面打包通常是將業(yè)務(wù)js,css打包到同一個(gè)html文件中,整個(gè)項(xiàng)目只有一個(gè)html文件入口,但也有許多業(yè)務(wù)需要多個(gè)頁(yè)面不同的入口,比如不同的h5活動(dòng),或者需要支持seo的官方網(wǎng)站,都需要多個(gè)不同的html,webpack-react-multi-page架構(gòu)讓你可以實(shí)現(xiàn)多頁(yè)面架構(gòu),在項(xiàng)目開(kāi)發(fā)中保證每個(gè)頁(yè)面...
webpack在單頁(yè)面打包上應(yīng)用廣泛,以create-react-app為首的腳手架眾多,單頁(yè)面打包通常是將業(yè)務(wù)js,css打包到同一個(gè)html文件中,整個(gè)項(xiàng)目只有一個(gè)html文件入口,但也有許多業(yè)務(wù)需要多個(gè)頁(yè)面不同的入口,比如不同的h5活動(dòng),或者需要支持seo的官方網(wǎng)站,都需要多個(gè)不同的html,webpack-react-multi-page架構(gòu)讓你可以實(shí)現(xiàn)多頁(yè)面架構(gòu),在項(xiàng)目開(kāi)發(fā)中保證每個(gè)頁(yè)面...
摘要:和是最受歡迎的。虛擬環(huán)境將允許將項(xiàng)目依賴(lài)項(xiàng)與本地機(jī)器依賴(lài)項(xiàng)隔離開(kāi)來(lái)。文件將是項(xiàng)目中的主文件。運(yùn)行后,檢查本地主機(jī)。在中創(chuàng)建一個(gè)名為的文件夾,并創(chuàng)建一個(gè)名為的文件夾。部署創(chuàng)建帳戶(hù)為前端和全棧應(yīng)用程序提供免費(fèi)部署服務(wù)。 ...
摘要:使用時(shí)才裝入需要的組件,可以有效的提高首次裝入頁(yè)面的速度。比如在路由切換時(shí)異步組件的實(shí)現(xiàn)允許將組件定義為一個(gè)工廠(chǎng)函數(shù),動(dòng)態(tài)地解析組件的定義。組件和首頁(yè)同步加載,而組件則按需加載。 使用時(shí)才裝入需要的組件,可以有效的提高首次裝入頁(yè)面的速度。比如在路由切換時(shí) 異步組件的實(shí)現(xiàn) Vue.js允許將組件定義為一個(gè)工廠(chǎng)函數(shù),動(dòng)態(tài)地解析組件的定義。工廠(chǎng)函數(shù)接收一個(gè)resolve回調(diào),成功獲取組件定義...
閱讀 2764·2021-09-28 09:36
閱讀 2332·2021-09-07 09:58
閱讀 1595·2019-08-26 13:53
閱讀 1366·2019-08-23 17:53
閱讀 3197·2019-08-23 15:34
閱讀 1937·2019-08-23 15:34
閱讀 2959·2019-08-23 12:04
閱讀 3826·2019-08-23 10:56