簡體   English   中英

如何更改目標URL

[英]How to change Target URL

我已經開發了與Sun One Web服務器聯系的應用程序。 Web服務器具有Lotus Domino和SiteMinder插件。

以下是應用程序的URL

http://HostName.example.com

在瀏覽器中單擊URL后,該URL將重定向到Web服務器,並顯示一個帶有URL下方的登錄頁面。

http://HostName.example.com:9898/SiteMinderagent/forms/login.fcc?TYPE=
33554433&REALMOID=06-1716e557-15f3-100f-b9a4-835cc8200cb3&GUID=&SMAUTHREASON=
0&METHOD=GET&SMAGENTNAME=$SM$sHjbzl4f9R%2bcSa0%2fEgnu6oUQQPMQnUgkU6Zvx5zWZpQ%
3d&TARGET=$SM$http%3a%2f%2fshivalik%2ered%2eiplanet%2ecom%3a9898%2fvalidation%
2findex%2ehtml

登錄到應用程序后,使用TARGET參數(URL在應用程序中解碼)從URL重定向請求。如果我阻止HTTP請求,則登錄不起作用。 由於TARGET參數是HTTP請求,因此無法登錄該應用程序。

有什么辦法可以將TARGET參數更改為HTTPS。 我可以在WebServer中更改哪個文件嗎? Sun One Web服務器運行Solaris OS。 我已嘗試找到解決方案,因為我認為URL已在Domino的Servlet中附加了查詢字符串,例如SMAGENTNAMESMAUTHREASONTARGET

TARGET參數使用用戶最初提供的URL填充-即在您的示例http://HostName.example.com中,將導致TARGET查詢字符串參數包含相同的URL以及SiteMinder代理生成的其他參數。

在您的情況下,可能的解決方案是通過在login.fcc的頂部放置以下內容來對TARGET進行硬編碼:

@TARGET=https://hostname.example.com/

這將導致FCC忽略發布的查詢字符串參數,而是對其進行硬編碼。

或者,如果您需要保留URL的路徑部分(例如http://hostname.example.com/path/to/file.html ),則可以在FCC頁面中添加一些JavaScript。 標准實現將TARGET填充到一個元素中,因此您可以使用JavaScript解析值,並在需要時將http://替換為https://。 確保您的代理配置在BadFormChars中使用單引號和雙引號( BadFormChars=%22,%27 )以防止XSS攻擊。

還有一個代理配置參數HttpsPort ,可用於“誘騙” SiteMinder認為您正在通過端口80提供HTTPS流量,但您必須測試任何意外的副作用。

暫無
暫無

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

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