UI5 Fiori-出于安全原因隐藏或屏蔽URL

2020-09-23 22:10发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)社区成员,我有一个场景,其中应用...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


社区成员,我有一个场景,其中应用程序URL以以下格式传递给外部供应商,文档号作为URL参数。 我们已经为服务器/端口部分创建了代理,并且由网络和安全团队对其进行了安全保护和列入白名单。

https://PROXY.com #ZAPPLICATION-display?EmailLink = true&DocNo = 1234&/HeaderSet/1234

问题出在URL中的文档编号(DocNo,值为1234)。 外部方(供应商)可以操纵URL并将文档编号替换为其他值。

第一个问题:有没有办法可以避免这种情况? 这种情况下的最佳做法是什么?

我已经在后端oData层的HEADERSET_GET_ENTITYSET方法中验证了DocNo,并且如果外部供应商无权访问文档编号,则会出现错误。 但是由于我已经加载了该应用程序,而且我不知道如何将用户从后端系统中退出,因此我在游戏中为时已晚。 我们有一个前端FIORI网关集线器,后端ECC系统已连接到该集线器。

第二个问题:关于我应该在哪里验证以及如何验证的任何想法? 我只是在HEADERSET_GET_ENTITYSET方法中读取URL参数。 我应该以其他方式这样做吗?

感谢您的指导。

3条回答
SAP小菜
2020-09-23 23:07

你好Ganesh,

首先,让我在假设这是一个自定义应用程序而不是标准SAP应用程序的前提下开始我的回答。

将文档编号作为URL哈希的一部分没有任何问题。 从开发和可用性的角度来看,这是完全合理的。 只要您正在验证后端中的文档编号(听起来好像已经),那么我认为您应该没问题。 我要提醒您的一件事是从后端返回的错误消息的性质。 由于缺少授权而导致的错误消息应始终在与不存在的文档编号相关的任何类型的错误消息之前返回。 您想确保攻击者不会滥用您的错误处理来枚举有效的文档编号。 只要您进行了适当的授权检查,就无需"将用户从后端系统中删除"。

最好的问候

Hunter Young

一周热门 更多>