查詢(xún)字符串編碼

網(wǎng)絡(luò)建設(shè)中可以發(fā)現(xiàn),URL參數(shù)在傳輸過(guò)程中被處理過(guò),即參數(shù)被編碼。在接收頁(yè)面的地址欄中顯示如下的URL查詢(xún)字符串:http://localhost:8080/request.php?user=%E9%87%91%E4%B8%89%E8%83%96&pass=12345678

在上面的查詢(xún)字符串中,所有雙字節(jié)的漢字全部被編碼顯示。但對(duì)于ASCII字符則不進(jìn)行編碼處理。查詢(xún)字符串未被解析之前,以編碼形式呈現(xiàn)在瀏覽器中的地址文本框中,這在一定程度上可以防止雙字節(jié)字符信息被直接看到,當(dāng)然這不是加密,自然無(wú)法保護(hù)查詢(xún)字符串的信息安全。

實(shí)際上,在查詢(xún)字符串中有幾個(gè)特殊的字符,了解這些字符所代表的意思,可以準(zhǔn)確獲取查詢(xún)字符串中的參數(shù)信息。

在PHP中對(duì)字符串進(jìn)行編碼可以通過(guò)urlen-code()函數(shù)實(shí)現(xiàn)。

例如,在下面示例中有兩條超鏈接,使用ur-lencode()函數(shù)對(duì)在URL中的查詢(xún)字符串進(jìn)行編碼,一個(gè)是經(jīng)過(guò)編碼,一個(gè)沒(méi)有經(jīng)過(guò)編碼,則在傳輸過(guò)程中可以看到地址欄中不同的顯示效果。

<a href="request.php?name=這是秘密信息,需編碼" data-role="button">未編碼信息</a><a href="request.php?name=<?PHP echo URLencode("這是秘密信息,需編碼傳輸"); ?>" data-role="button">編碼信息</a>

網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷(xiāo)咨詢(xún)專(zhuān)線:0871-63535511(點(diǎn)擊可一鍵撥號(hào))