尽管我们可以使用window.location.hostname
从javascript中获取主机名,但其他用户可以下载js并将其作为恒定有效的主机名传递,但我正在做一些我需要了解脚本位置的工作是托管的,该js的用户无法对其进行欺骗。
我想到的另一种解决方案是使用request.headers.origin
,但也可以被欺骗。
有没有这样的解决方案,我可以通过该解决方案获取托管js的主机名,以便限制未经授权使用js托管的情况。
我尝试使用Google搜索,但找不到任何解决方案。大多数人建议的解决方案是仅从js传递代码后对其进行混淆。
我们可以做得更好吗?
答案 0 :(得分:2)
你不能。
浏览器中发生的所有事情都完全在用户的控制之下。
如果您不信任用户,那么您将不信任从浏览器获得的任何信息。
您应该找到不太依赖浏览器的信息源(例如,生成信息服务器端,然后通过使用会话将其与来自浏览器的信息相关联)。