По-моему вам просто надо сравнивать referer запросов с зарегистрированными доменными именами сайтов в вашем сервисе. Никто не мешает скопировать зашифрованный id и вставить его на другой сайт с таким же успехом. "Вызов" урла фрейма все равно инициируют обычные пользователи из браузера, заниматься подлогом реферера им нет резона. Для тех параноиков, у которых отключена передача реферера - просто не блокируйте виджет при пустом реферере.
Для подтверждения неизменности урла в абстрактном случае же лучше использовать подпись - например url?id=123&hash=123456789abcdef, где hash=md5($id.$secret_key);
Возможностью проверки таких подписей обладает даже
nginx