Acho que você pode fazer uma aplicação proxy que valida de onde veio o request do usuario.

eu dei uma pesquisa para fazer uma proxy, porém pelo o que eu vi peguaria o valor do http referer que acredito que seja a mesma coisa do document.referrer, se for isso mesmo ai acredito que não mudaria para melhor o meu cenario
e http.referer pode ser adulterado tb, de maneira bem fácil. É um campo bem merda para se tirar métricas.
Se for levar oque pode ou não se alterado, ele nunca vai confiar em nada. Ele pediu o mais confiavel possível e foi nisso que eu pensei.
Não é bem assim. http.referer vc consegue alterar simplesmente usando um Selenium da vida. Fácil e sem dor. IP o buraco é mais embaixo, vai te exigir pelo menos um proxy caseiro e fatalmente vai cair em regras de firewall. É bem complicado, senão impossível, vc se passar por um ASN alheio, então calma jovem, que aqui a pessoa sabe do que está falando.
Se a pessoa tem conhecimento sobre o Selenium, oq a impede de ter e usar o proxy? Meu ponto nao é complicado, pensei na solução mais simples e só, se a pessoa quiser muito ela vai burlar de qualquer forma.
Pensei so no usecase, são usuário simples que querem comprar um produto
Vc não está errado morph. Pense que minha resposta só complementa a sua. Dá para seguir a sua, e se o rapaz quiser se aprofundar um pouco mais, e precisar, ai segue vom o caminho complementar ali.