Как запретить хранимому процессу SAS показывать журнал, когда пользователи добавляют _debug=log в URL
При запуске хранимого процесса SAS (STP) с некоторыми параметрами URL
https://xxx.xxx.xxx/xxx?_program=yyy/yyy&aaa=aaa
любой может увидеть журнал, добавив _debug=log
в параметрах URL.
Есть ли способ предотвратить такую возможность?
Я хотел бы скрыть журнал от моих пользователей.
(Не только при возникновении ошибок, см. http://support.sas.com/kb/16/225.html)
РЕДАКТИРОВАТЬ: я забыл указать, что я ищу решение, которое не повлияет на другие STP, только одно.
2 ответа
Если вы используете SAS Enterprise Guide, это шаги, которые я прошел, чтобы не показывать журнал SAS, запустив stp в Интернете:
1) Щелкните правой кнопкой мыши, чтобы изменить сохраненный процесс
2) Зайдите в "подсказки" и создайте новую подсказку
3) Установите значения первой вкладки на это:
4) Во второй вкладке выберите тип подсказки "переменная"
5) Нажмите, чтобы установить флажок значения по умолчанию и оставить значение по умолчанию пустым
Теперь, когда пользователь пытается запустить хранимый процесс из Интернета с помощью &_debug=log, он должен увидеть ошибку, не позволяющую ему:
Проще всего было бы положить PROC PRINTTO
в вашем autoexec.sas. Таким образом, журнал перенаправляется с потоковой передачи на клиент, куда бы вы ни указали. Просто убедитесь, что у вас есть уникальные имена файлов для журналов, или у вас могут возникнуть проблемы с двумя STP, пытающимися записать в один и тот же файл.