Какой бы «секретный URL» вы ни раздали, он не должен перенаправлять на реальный URL, иначе вы создадите всевозможные возможности для утечки информации. Это должен быть строго альтернативный URL.
Использование маршрутизации для этого кажется хорошей идеей вместо использования отдельного контроллера. В вашем маршруте вы можете передать дополнительный параметр, чтобы указать, что это «секретный» URL-адрес, например :secret => true
, где рассматриваемое значение не может быть передано пользователем для фальсификации. Например, пользовательские параметры всегда являются строками, поэтому безопасным вариантом может быть использование true
.
Этот специальный параметр может отключить проверку доступа на вашем контроллере, чтобы страницы могли просматривать люди, которые обычно не имеют доступа. Вы также можете показать другой макет, используя метод layout
в вашем контроллере.