繁体   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