В хранимом процессе SAS есть способ идентифицировать сервер, который вызвал его через ajax

У меня есть публичный хранимый процесс (STP), в котором я хотел бы иметь возможность определить, какая страница вызывает его, через ajax.

STP мгновенно настроен для работы с гостевой учетной записью и, таким образом, является общедоступным.

Я думал сделать это, вставив секретный ключ в переменные STP.
Но этот ключ может быть изменен пользователями в URL.

Есть ли способ идентифицировать это, не оставляя пользователям возможность изменить его?

Может быть, есть зарезервированная переменная STP, которая сообщает происхождение запроса (например, имя сервера или IP или что-то идентифицируемое)?
Но я не мог найти среди них:

_debug
_grafloc
_htcook
_htua
_program
_reqmeth
_rmtaddr
_rmthost
_srvname
_srvport
_url
_userlocale
_username
_version

http://support.sas.com/rnd/itech/doc9/dev_guide/stprocess/reserved.html

1 ответ

Изменение моего ответа, поскольку я был ранее неверен. Вы МОЖЕТЕ получить эту информацию (через _htrefer) но это требует изменения конфигурации вашего SAS-сервера. Согласно документации:

_HTREFER: Определяет адрес ссылающейся страницы. Эта переменная не установлена ​​по умолчанию, но ее можно включить в файле params.config.

Стоит отметить, что ни один метод не может быть на 100% надежным, поскольку конечные пользователи всегда могут манипулировать своими запросами.

Другие вопросы по тегам