En général, vous ne pouvez pas le faire d'une manière significative en raison de la nécessité de fournir un accès et la simplicité de HTTP. Ou plus fondamentalement, vous ne pouvez pas refuser l'accès aux informations que vous devez fournir (dans ce cas, les informations de connexion sans état). Les meilleures étapes initiales consistent à s'assurer que le contrôleur autorise uniquement l'accès aux données auxquelles l'utilisateur doit avoir accès (quelle que soit la manière dont il se connecte), plutôt que d'essayer de restreindre en fonction des informations de demande facilement altérées. Cela étant dit, si vous avez une raison étrange de poursuivre après cela, vous pouvez utiliser une forme de jeton à usage unique passée avec la requête AJAX. Vous pourriez, par exemple, générer une clé aléatoire, persister quelque part (idéalement juste en mémoire dans quelque chose comme une table de hachage car il ne devrait jamais y avoir un délai assez long pour justifier le contraire) et le transmettre avec la page qui émettra l'ajax demande. Le jeton est renvoyé avec la demande et supprimé, puis ce jeton ne sera plus valide. Le contrôleur ne pourrait pas être accédé directement puisqu'il aurait besoin d'un jeton.
Cela encore pouvoir être travaillé autour depuis le processus pourrait être arrêté et un jeton émis utilisé, mais il dissuader tout simplement jouer avec boucle (si vraiment ne vaut pas l'effort). En bref, vous ne pouvez pas faire cela d'une manière que personne ne pourrait pas contourner dans les 10 minutes. Concentrez-vous sur vous assurer que vous n'exposez que les données que vous voulez, peu importe comment elles sont récupérées.
connexes: http://stackoverflow.com/q/8121997/29995 –