所謂的關(guān)聯(lián)(correlation)就是把腳本中某些寫死的(hard-coded)資料,,轉(zhuǎn)變成是摘取自服務(wù)器所送的,、動(dòng)態(tài)的,、每次都不一樣的資料。舉一個(gè)常見的例子,,剛剛提到有些比較聰明的服務(wù)器,,這些服務(wù)器在每個(gè)瀏覽器第一次跟它要資料時(shí),都會(huì)在資料中夾帶一個(gè)唯一的辨識(shí)碼,,接下來就會(huì)利用這個(gè)辨識(shí)碼來辨識(shí)跟它要資料的是不是同一個(gè)瀏覽器,。一般稱這個(gè)辨識(shí)碼為Session ID。對(duì)于每個(gè)新的交易,,服務(wù)器都會(huì)產(chǎn)生新的Session ID給瀏覽器,。這也就是為什么執(zhí)行腳本會(huì)失敗的原因,因?yàn)閂uGen還是用舊的Session ID向服務(wù)器要資料,,服務(wù)器會(huì)發(fā)現(xiàn)這個(gè)Session ID是失效的或是它根本不認(rèn)識(shí)這個(gè)Session ID,,當(dāng)然就不會(huì)傳送正確的網(wǎng)頁資料給VuGen了。 當(dāng)錄制腳本時(shí),,瀏覽器送出網(wǎng)頁A的請(qǐng)求,,服務(wù)器將網(wǎng)頁A的內(nèi)容傳送給瀏覽器,并且夾帶了一個(gè)ID=123的資料,,當(dāng)瀏覽器再送出網(wǎng)頁B的情求時(shí),,這時(shí)就要用到ID=123的資料,,服務(wù)器才會(huì)認(rèn)為這是合法的請(qǐng)求,并且把網(wǎng)頁B的內(nèi)容送回給瀏覽器,。 在執(zhí)行腳本時(shí)會(huì)發(fā)生什么狀況,?瀏覽器再送出網(wǎng)頁B的請(qǐng)求時(shí),用的還是當(dāng)初錄制的ID=123的資料,,而不是用服務(wù)器新給的ID=456,,整個(gè)腳本的執(zhí)行就會(huì)失敗。要對(duì)付這種服務(wù)器,,我們必須想辦法找出這個(gè)Session ID到底是什么,、位于何處,然后把它摘取下來,,放到某個(gè)參數(shù)中,,并且取代掉腳本中有用到Session ID的部份,這樣就可以成功騙過服務(wù)器,,正確地完成整個(gè)交易了,。(轉(zhuǎn))
|