簡體   English   中英

防止IBM Commerce Server 6中的URL參數加密(加密)

[英]Prevent Encryption (Krypto) Of Url Paramaters in IBM Commerce Server 6

嗨,我們正在使用IBM Commerce Sever通過如下代碼通過一個視圖移動到另一個視圖。

protected void prepareResponse(){
...
String returnUrl = "www.example.com/aNewPage.jsp?aUrlParameter=123&anotherParameter=654"
...
StringBuffer sb = new StringBuffer(returnUrl);
sb.append("&storeId=").append(commandContext.getStoreId());
sb.append("&langId=-1");
responseProperties.put(ECConstants.EC_REDIRECTURL, sb.toString());
responseProperties.put(ECConstants.EC_VIEWTASKNAME, ECConstants.EC_GENERIC_REDIRECTVIEW);
}

我們最終到達的url是www.example.com/aNewPage.jsp?krypto=ABCDF0LotsOfRandomCharacters,由於第三者的集成,很遺憾,我們的javascript正在尋找url參數的未加密形式,因此無法解密krypto參數。

這種行為是根據文檔

\n 將輸入參數展平為HttpRedirectView的查詢字符串\n\n 展平傳遞給重定向視圖命令的所有輸入參數\n 到用於URL重定向的查詢字符串中。  例如,假設輸入\n 重定向視圖命令包含以下屬性:\n URL =“ MyView?p1 = v1&p2 = v2”;\n ip1 =“ iv1”;  //輸入到原始控制器命令\n ip2 =“ iv2”;  //輸入原始控制器命令\n op1 =“ ov1”;\n op2 =“ ov2”;\n 根據前面的輸入參數,最終URL為\n MyView?p1 = v1&p2 = v2&ip1 = iv1&ip2 = iv2&op1 = ov1&op2 = ov2\n 請注意,如果該命令使用SSL,則參數將被加密\n 最終網址顯示為\n MyView?krypto = encrypted_value_of“ p1 = v1&p2 = v2&ip1 = iv1&ip2 = iv2&op1 = ov1&op2 = ov2”\n

現在的問題是:如何防止這些url參數被加密?

加密的參數由wc-server.xml中的NonEncryptedParameters節點控制。 將要保留為純文本格式的url參數添加到該節點意味着它們不會被加密。

<NonEncryptedParameters display="false">
    <Parameter name="storeId"/>
    <Parameter name="langId"/>
    <Parameter name="catalogId"/>
    <Parameter name="categoryId"/>
    <Parameter name="productId"/>
</NonEncryptedParameters>

我在IBM論壇上找到了答案,並詳細說明了使用NonEncryptedParameters節點的鏈接,該節點討論了出於緩存目的執行此操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM