在網絡建設中可以發現,URL參數在傳輸過程中被處理過,即參數被編碼。在接收頁面的地址欄中顯示如下的URL查詢字符串:http://localhost:8080/request.php?user=%E9%87%91%E4%B8%89%E8%83%96&pass=12345678
在上面的查詢字符串中,所有雙字節的漢字全部被編碼顯示。但對于ASCII字符則不進行編碼處理。查詢字符串未被解析之前,以編碼形式呈現在瀏覽器中的地址文本框中,這在一定程度上可以防止雙字節字符信息被直接看到,當然這不是加密,自然無法保護查詢字符串的信息安全。
實際上,在查詢字符串中有幾個特殊的字符,了解這些字符所代表的意思,可以準確獲取查詢字符串中的參數信息。
在PHP中對字符串進行編碼可以通過urlen-code()函數實現。
例如,在下面示例中有兩條超鏈接,使用ur-lencode()函數對在URL中的查詢字符串進行編碼,一個是經過編碼,一個沒有經過編碼,則在傳輸過程中可以看到地址欄中不同的顯示效果。
<a href="request.php?name=這是秘密信息,需編碼" data-role="button">未編碼信息</a><a href="request.php?name=<?PHP echo URLencode("這是秘密信息,需編碼傳輸"); ?>" data-role="button">編碼信息</a>
當前文章標題:查詢字符串編碼
當前URL:http://www.freesemtools.com/news/wzzz/3269.html
上一篇:獲取查詢字符串的值
下一篇:認識會話變量