c#
  • asp.net
  • gridview
  • encryption
  • query-string
  • 2012-10-23 70 views 0 likes 
    0

    我試圖通過下面的類來加密我的查詢字符串:加密模板字段中嵌入的查詢字符串?

    Encrypt Query String .

    的問題是:

    我的鏈接是在gridview,我不知道如何通過使用加密方法以正確的方式評估eval表達式。

    這是我曾嘗試:

    我的.aspx

    <ItemTemplate> 
    <a id="btnShowPopup6" runat="server" class="thickbox" href='<%#"PageDetail.aspx?QueryStringModule.Encrypt(code="+Eval("t_code")+"&serial="+Eval("t_Serial")+"&year="+Eval("t_Year")+"&AR=1"+"&TBiframe=true&height=600&width=950)"%>'> 
        <asp:Image ID="Image43" runat="server" ToolTip="confirm" ImageUrl="Images/ok-blue.png" 
        Width="20" Height="20" /> 
    </ItemTemplate> 
    
    +0

    你可以顯示爲href生成的HTML是什麼? –

    回答

    1

    更改HREF =以下,它應該工作。

    <%#"PageDetail.aspx" + QueryStringModule.Encrypt("code="+Eval("t_code")+"&serial="+Eval("t_Serial")+"&year="+Eval("t_Year")+"&AR=1"+"&TBiframe=true&height=600&width=950")%> 
    

    順便說不要再使用比這個查詢字符串模塊以外的任何您的加密密鑰。不幸的是,httpmodule的作用是創建一個「加密oracle」,您可以提供任何明文,並且它會返回給您一個用您的密鑰加密的有效密文。因此,例如,如果你去pagedetail.aspx?myname = moe,它會爲我加密myname = moe,並給我一個用你的密鑰加密的值。如果您在代碼的其他部分使用此值進行某種類型的驗證或信息隱藏,則可以隨意生成加密字符串。

    1

    創建後面方法的代碼,並通過您的數據要加密.. 它返回一個鏈接

    在您的ItemTemplate中調用方法

    該方法可能是這樣的...

    protected string getCode(string t_code, string t_Serial, string t_Year) 
        { 
         return "<a href=PageDetail.aspx?" + QueryStringModule.Encrypt("code=" + t_code + "&serial=" + t_Serial + "&year=" + t_Year + "&AR=1" + "&TBiframe=true&height=600&width=950") + ">code</a>"; 
        } 
    

    現在使用它像下面

    <asp:TemplateField HeaderText="YOUR LINK NAME"> 
           <ItemTemplate> 
           <%# getCode(Eval("t_code").ToString(), Eval("t_Serial").ToString(), Eval("t_Year").ToString()) %> 
           </ItemTemplate> 
           </asp:TemplateField> 
    
    相關問題