Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
題
在瀏覽器中瀏覽了網(wǎng)頁之后,下一步就是查看其HTML源代碼。盡管這種方法很簡單,但仍然非常值得去做。查看源代碼有兩項作用;它可以幫助你發(fā)現(xiàn)最明顯的安全問題,但最重要的是,它使你能夠為將來的測試建立一個比較基準(zhǔn)。對攻擊失敗之前和之后的源代碼進(jìn)行比較,你就能夠調(diào)整你是輸入,了解到哪些通過了,哪些沒有通過,并再次嘗試。
解決方案
我們推薦使用Firefox,你已經(jīng)在2.1節(jié)中學(xué)會了它的安裝。首先瀏覽應(yīng)用中你所感興趣的網(wǎng)頁。
右擊,并選擇“查看源文件”或從菜單欄選擇“查看”→ "源文件"。
我們推薦Firefox的主要原因是因為它的彩色顯示。如圖3-1所示,使用這種顯示方式,HTML標(biāo)簽和屬性都要容易理解得多。相比之下,Internet Explorer在記事本中打開網(wǎng)頁。就會難讀得多。
討論
作為比較基準(zhǔn),訪問HTML源代碼會非常有幫助。最常見的Web漏洞涉及到向Web應(yīng)用提供惡意輸入以修改HTML源代碼。在測試這些漏洞時,驗證測試通過或失敗的最簡單的方法就是檢查源代碼是否被惡意更改。
當(dāng)心一切未經(jīng)更改就寫進(jìn)源代碼中的輸入。我們將在第8章討論輸入驗證,然后許多應(yīng)用根本就不對輸入進(jìn)行驗證。在開始討論更加復(fù)雜的內(nèi)容之前,不妨在源代碼中搜索你剛剛提供的輸入。然后,使者將可能的危險值作為輸入,比如HTML標(biāo)簽或JavaScript,并注意它是否未經(jīng)修改就直接顯示在源代碼中。如果是這樣的話,那么這就是個警示信號。
注意,你可以像搜索任何其他Firefox頁面那樣搜索HTML源代碼(根據(jù)具體情況,使用Ctrl+F或(Windows徽標(biāo)鍵)+F)。
在以后的秘訣和章節(jié)中,我們將使用工具來自動搜索、解析和比較源代碼。記住基本要點;通常,可以通過重復(fù)地手動檢查源代碼以檢查怎樣做才能使它通過篩選程序或編碼找出漏洞。
注意:你在這里看到的靜態(tài)源代碼不能反映JavaScript或AJAX功能所做的任何更改。
搜索微信公眾號:TestingStudio霍格沃茲的干貨都很硬核
天是劉小愛自學(xué)Java的第78天。
感謝你的觀看,謝謝你。
話不多說,繼續(xù)前端之CSS的學(xué)習(xí):
其中在頭條搜索中也有很多關(guān)于CSS的干貨教程,專業(yè)又詳細(xì),點擊下方卡片搜索“CSS”了解更多
CSS,全稱是Cascading Style Sheet,翻譯過來就是層疊樣式表。
它有一個非常厲害的功能,就是美化網(wǎng)頁。
本質(zhì)上HTML也可以美化網(wǎng)頁,但是CSS更加地強大,可以實現(xiàn)很多HTML不能實現(xiàn)的功能。
CSS有一個核心標(biāo)簽叫style,也就是樣式的意思,CSS本身也就是可以設(shè)定各種各樣的樣式。
用一個例子來說明:
<style>標(biāo)簽,放在<head></head>標(biāo)簽里面。
①h1的美化
如果純用HTML,是沒法對標(biāo)題進(jìn)行顏色設(shè)置的。
但使用CSS,就可以對標(biāo)題進(jìn)行各種樣式的設(shè)置,上圖只舉了顏色這個例子。
②字體的美化
字體是可以在HTML中設(shè)置屬性的,比如顏色(color),比如大小(size)…
而CSS等于是將這些屬性抽取出去了,專門放在<style>標(biāo)簽中了。
這樣有什么好處?
降低耦合度,分工更加地明確,CSS專門用來美化,HTML專門用于結(jié)構(gòu)搭建,如果想設(shè)定格式,指定CSS就好了。
這個就有點類似于Java中方法的封裝,或者說經(jīng)典三層架構(gòu)。
Service層專門負(fù)責(zé)具體的業(yè)務(wù)邏輯,Dao層專門負(fù)責(zé)數(shù)據(jù)庫的查詢,Service想訪問數(shù)據(jù)庫,調(diào)用Dao層就好了。
CSS一共有三種引入方式。用例子說明:
①行內(nèi)樣式
直接在標(biāo)簽中添加style屬性,也能起到引入CSS的效果。
但是為了降低耦合度,一般在HTML主干中只搭建結(jié)構(gòu),設(shè)定樣式專門交給CSS來做。
②內(nèi)部引入
也就是一開始的那個例子,sytle標(biāo)簽是放在head標(biāo)簽中的。
除了這兩種,還有一種外部引入方式:
③外部引入(一)
可以自定義一個CSS文件,在里面寫自定義的樣式。
然后在HTML文件中使用style標(biāo)簽引入該CSS文件即可,其中引入格式如下:
@import+CSS文件路徑。
和Java中的導(dǎo)包很類似,文件路徑中的“..”表示回到上一層。
④外部引入(二)
除了使用style外,還可以使用link標(biāo)簽外部引入:
關(guān)于這三種引入方式的優(yōu)先級:
行內(nèi)引入是最優(yōu)先的。
內(nèi)部引入和外部引入,就看哪個離HTML文件主體近(就近原則)
選擇器的作用在于:可以幫我們從頁面上獲得對應(yīng)的標(biāo)簽。
其中有最基本的三種選擇器:
①id選擇器
格式為:#+id名{}
關(guān)于id我做了個測試,發(fā)現(xiàn)不能用純數(shù)字,老實說我還挺奇怪的,一般id不都是純數(shù)字么。
就當(dāng)是CSS的命名規(guī)則好了,不能是純數(shù)字,否則沒有作用。
其中id選擇器是唯一的,也就是一個id在一個HTML文件中只能有一個。
②類選擇器
格式為:.+類名{}
類是可以有多個的,比如同樣是font標(biāo)簽,相同的id只能有一個,但是相同的類可以有多個。
③標(biāo)簽選擇器
格式為:標(biāo)簽名{}
HTML中是有很多標(biāo)簽的,可以直接使用過標(biāo)簽作為選擇器,上圖例子中是font標(biāo)簽。
關(guān)于這三種選擇器的優(yōu)先級:
id選擇器最大,類選擇器次之,標(biāo)簽選擇器最小。
這其實也很好理解:
id選擇器最精準(zhǔn),優(yōu)先級越高(例子中①哪怕也是myClass類,標(biāo)簽也是font),但樣式還是按照id選擇器設(shè)定的來。
除了三種基本選擇器外,還有好幾種選擇器:
①層級選擇器
格式為:div+空格+標(biāo)簽名{}
標(biāo)簽與標(biāo)簽之間是用空格隔開的。
在HTML中有一個div標(biāo)簽,這個標(biāo)簽和CSS結(jié)合起來很有用。
比如上述例子中,同樣是h1標(biāo)簽,但是只渲染div標(biāo)簽中的h1標(biāo)簽。
②并集選擇器
格式為:div+逗號+標(biāo)簽名{}
標(biāo)簽與標(biāo)簽之間是用逗號隔開的,也就是相當(dāng)于將標(biāo)簽選擇器并起來了,同時修改多個標(biāo)簽的樣式。
③屬性選擇器
格式為:標(biāo)簽名[屬性名="對應(yīng)的值"]{}
font標(biāo)簽中有很多屬性,CSS可以指定其中對應(yīng)的屬性。
比如size=“3”的才修改樣式,其中哪怕font默認(rèn)字體size為3,但是沒有寫出size屬性,也不會修改其樣式。
④偽類選擇器
格式為:標(biāo)簽名+冒號+對應(yīng)的狀態(tài)
所以為什么叫偽類?
并不是修改的某個具體的類修改,而是對標(biāo)簽對應(yīng)的狀態(tài)進(jìn)行修改。
其中關(guān)于CSS選擇器真的太多太多了,可以查詢W3C官方文檔,如下圖:
這還是我截圖的一小部分,其它的截不下了,一共有幾十種。
想要完全把它學(xué)習(xí)下來真心需要花一定的時間,但我畢竟還是以學(xué)Java后臺為主,對前端只做一個基本的了解。
以后有機會再做做總結(jié)什么的,估計也沒什么機會了……
謝謝你的觀看。
如果可以的話,麻煩幫忙點個贊,謝謝你。
家好,我是大澈!
本文約800+字,整篇閱讀大約需要1分鐘。
感謝關(guān)注微信公眾號:“程序員大澈”,免費領(lǐng)取"面試禮包"一份,然后免費加入問答群,從此讓解決問題的你不再孤單!
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。