Request.Params正在取代字符" +"为" " (空白).net

时间:2016-05-03 12:46:15

标签: c# .net iframe request

我有以下iframe元素

<iframe id="iFrameMain_01_01_01_01" 
        frameborder="0" width="100%" height="100%" scrolling="no"
        style="OVERFLOW:hidden;"
        src="SearchGrid.aspx?SearchName=fey&amp;Code=01_01_01_01&amp;SearchParam=Localizar&amp;ParentType=Filter&amp;gi=Testes&amp;SP=&amp;token=P7vZAKdnaPiDlD89ICn5Hr/CGTYmMpWOMKh5eiO6r0UIXK0cvt8Xc/NA0AEG3n+Lv/p8rSIWSFwVsr9tlS1/+Q==">
</iframe>

当我试图获得参数&#34;令牌&#34;在带有Request.Params["token"]的Page_Load中,我有值:

P7vZAKdnaPiDlD89ICn5Hr/CGTYmMpWOMKh5eiO6r0UIXK0cvt8Xc/NA0AEG3n Lv/p8rSIWSFwVsr9tlS1/ Q==

角色&#34; +&#34;正在取代白色空间。

1 个答案:

答案 0 :(得分:2)

  

角色&#34; +&#34;正在取代白色空间。

是的,它会是 - 因为那是URL解码对查询参数的意义。当您URL-encode a space in a query parameter时,您会在结果网址中获得+,因此对此网址进行网址解码应该会返回空间。当您对+进行网址编码时,您会获得%2B

基本上,听起来您应该使用base64的网络安全变体,因此您不必担心对数据进行URL编码。或者,请确保先执行自己的URL编码。