Как узнать откуда был отправлен запрос?
чтобы нельзя было подделать запросCSRF и валидация
Не вижу никаких проблем, просто шифруйте запрос уникальным ключем, который есть только у отправляющей стороны и принимающей.