Figliolo (come esordiva il capo dell'apostolo) il discorso è un po' piu' complesso di quel che sembra inizialmente. Il referer viene trasmesso dal client che può riempirlo con dati arbitrari, per cui non hai mai avuto una certezza in tal senso, sarebbe bastato che qualcuno mandasse i dati che ti aspetti nel referer per bypassare tale controllo.
Alla luce di questo verrebbe da pensare che ti possa bastare applicare le regole CORS per permette ad un solo dominio di accedere a tali dati, il problema che CORS non è molto diverso dal referer, in quanto è una limitazione lato client, infatti è il browser che in base alle regole CORS date dal server inibisce a se stesso la chiamata. Per cui come puoi ben immaginare è sufficiente non usare un browser per accedere lo stesso ai dati "protetti" da CORS.
Ora ti rimane la soluzione più ovvia e più sicura, ovvero usare la crittografia a chiave simmetrica, che nonostante soffra del problema di stoccaggio della chiave stessa*, ti da una certa sicurezza. Oppure potresti creare un token monouso a scadenza ed inviarlo insieme alla richiesta, ovviamente il server che riceve la richiesta dovrà effettuare una richiesta in background al primo server per poter confrontare il token, nel caso ci sia corrispondenza allora concede i dati, diversamente rifiuta la richiesta.
P.S.
Ovviamente il discorso della crittografia lo puoi fare solo se hai possibilità o di metter mano ad entrambe i server, o comunque fare in modo che il server che ti manda dei dati post includa un qualche dato (tipo token) nelle richieste che ti manda e che siano o crittografate o con chiave monouso (possibilmente sempre crittografata).
Qualsiasi altro "metodo" che preveda la possibilità che il client mandi (quindi possa manipolare) la richiesta non è sicura. Tralasciando la sicurezza potresti comunque sempre controllare l'IP di provenienza (anche questo manipolabile dal client)
*la chiave crittografica non è sicura se ovviamente è salvata "male", ovvero accessibile a terzi magari tramite file system sul server, leggasi che l'amministratore potrebbe leggere la chiave se non salvata in sicurezza)