Le référant ne serait utile que dans le cas où la page d'origine ne contient que le film demandé, ce qui réduit à néant les avantages de l'Ajax pour le problème initial.
Et le référant, ça se modifie aussi, c'est pas plus fixe qu'un useragent.
Non, pour l'auteur, il n'y a pas de moyen de vérifier comme ça. Tu trouveras toujours des bidouilles (le premier truc débile qui me vient en tête c'est calculer la position du scroll pour déterminer si l'utilisateur a dans son champ de vision l'élément qu'il favorise, mais c'est, là encore, modifiable côté client (et stupide)), mais ça sera jamais correct.
Dans l'exemple que tu donnes, on a envie de dire "on s'en fout". S'il l'utilisateur veut mettre en favoris le film 5 en cliquant sur le film 32, c'est son problème et ça n'affecte pas l'intégrité du système.
Si, par contre, ta situation réelle est plus complexe, il faut toujours vérifier les données envoyées côté serveur, tout comme tu le ferais avec n'importe quelle soumission par formulaire (puisqu'une requête Ajax, c'est plus ou moins la même chose, la différence c'est juste pour l'expérience utilisateur).