gpt4 book ai didi

java - 如何更改目标 URL

转载 作者:行者123 更新时间:2023-12-01 13:49:16 25 4
gpt4 key购买 nike

我开发了一个与 Sun One Web 服务器联系的应用程序。 Web 服务器有 Lotus domino 和 SiteMinder 插件。

下面是应用程序的 URL

http://HostName.example.com

在浏览器中点击 URL 后,该 URL 将重定向到网络服务器,并显示带有以下 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 进行解码)从 URL 重定向请求。现在,如果我阻止 HTTP 请求,则登录将无法工作。由于 TARGET 参数是 HTTP 请求,我无法登录应用程序。

有什么方法可以将 TARGET 参数更改为 HTTPS。我可以知道我可以在 WebServer 中的哪个文件中更改它吗? Sun One Web 服务器运行 Solaris 操作系统。我努力寻找解决方案,因为我认为 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 流量,但您必须测试是否有任何意外的副作用.

关于java - 如何更改目标 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20087008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com