如何检查对我的域的请求是否来自Java中的可信源或引用者?

如何检查对我的域的请求是否来自Java中的可信源或引用者?,java,https,referrer,trusted,Java,Https,Referrer,Trusted,我有一个客户要求检查http请求的推荐人。如果推荐人来自特定的网站列表,我将允许他们访问应用程序,否则我必须将他们引导到登录页面。希望我对这个要求很清楚 我使用了httpRequest.getHeader(“referer”)来获取referer,当两个http客户端之间通信时,代码工作正常。现在,发送方应用程序被移动到https,而我的推荐人在接收方应用程序中为空,因为https(发送方)不会在请求中发送任何头 现在,有谁能给我一个好方法来验证请求是否来自可信来源。我想验证推荐人是否是可信来源

我有一个客户要求检查http请求的推荐人。如果推荐人来自特定的网站列表,我将允许他们访问应用程序,否则我必须将他们引导到登录页面。希望我对这个要求很清楚

我使用了
httpRequest.getHeader(“referer”)
来获取referer,当两个http客户端之间通信时,代码工作正常。现在,发送方应用程序被移动到https,而我的推荐人在接收方应用程序中为空,因为https(发送方)不会在请求中发送任何头


现在,有谁能给我一个好方法来验证请求是否来自可信来源。我想验证推荐人是否是可信来源。如果我遗漏了什么,请告诉我

我不知道您使用的是什么应用程序或http服务器,但我认为最好使用双向ssl身份验证,这种技术可以识别客户端和服务器证书。您必须创建服务器和客户端证书,并且只有受信任的客户端(密钥库中的证书标记为受信任)才能获取数据

注意:不要使用自签名证书

永远不要使用referer标头来确定您是否可以信任用户。它可以使用任意数量的浏览器插件或独立代码随意注入。再看看这个: