我看到的現象是ASPX抓到的Request["p"]裡出現了%2f這類文字,而該URL是由一段Javascript產生的; 這段Javascript去抓某個<a href="BLOCKED SCRIPT...">的href屬性當來源,並做了escape();而這個href屬性是C#在後端計算出來的Base64編碼,且經UrlEncode處理... (看到這裡,大家頭都昏了吧?)
<html><body>
<a href="javascript:boo('%2f');void(0);" id="lnk">LINK</a><script type="text/javascript">
document.write(document.getElementById("lnk").href);</script>
</body></html>
最後,我解決這個問題的鋸箭法是先檢查抓到的href值中有沒有出現%字元,如果有代表是IE7,則不再做escape。如此可包容二者行為的差異,在IE6/IE7下都不致出錯。