> Может быть, ещё в bash сделать авторизацию при запуске интерактивной сессии? Если внешняя страница в браузере сможет вызывать bash угодным ей образом - то таки да. Иначе у вас майнеров будет хоть отбавляй.
> Или в netcat при принятии соединения?
Если браузер сможет запускать неткат по своему усмотрению - таки да. Иначе вы станете халявным прокси для ддосов и спама.
> Или в winapi показывать окошко подтверждения при каждом вызове CreateProcess?
Ах, вы пользователь винды. Так бы сразу и сказали, можно было бы и не париться вашим мнением про безопасность тогда. Линуксоиды, если что, таки придумали запрет явно лишних сисколов - и поэтому если мы знаем что сервер не выполняет внешние процессы, у нас таки fork() и execve() таки получит от ворот поворот. Без всяких ламерских окошек.
> Это API не для вываливания наружу, и даже не для открытия на локалхосте,
А все-равно косвенными настройками можно их спровоцировать, потому что настройка того что клиент делает может требоваться. Включая и запуск скриптов/программ по окончании закачки торента.
А когда фича вроде бы нужна, но вроде бы может быть абузивно использована - значит должна быть авторизация использования фичи. Так же как рута в нормально настроенном *никс не дают всем подряд просто так. А для RPCшного вебапи уровень паранои выше, там и просто пользователя давать без авторизации нельзя, иначе завалит майнерами и прокси.
> если имеет значение разграничение пользователей.
Сокеты типа локалхоста - от пользователей не зависят. И это как бы некая проблема, поскольку браузер пользователя без вопросов сходит на 127.0.0.1 и попросит там чего-то странного, даже если процесс от совсем другого пользователя. А пользователь вообще мог даже не заметить что его браузер одурачили.
Ну вот есть такая данность в этом мире - ремоты могут дурачить браузеры, провоцируя их на локальные запросы. И если кто думал что его сервис на 127.0.0.1 будет недоступен снаружи - он ошибался.
Есть более развитые варианты этой атаки - ремоты могут провоцировать DPI и прозрачные прокси на доступ к интранету, которого изначально снаружи не было. И если ты думаешь что такой умный и все подобные плюхи сможешь заткнуть - ну попробуй, безопасТничек.
> Если кто попало получает возможность его дёргать, то это проблема настройки системы,
> а не плохое API.
Если апи хреново работает в реальном мире - это хреновое апи.
> Но не весь. Демоны — это юниксвейно? А они обычно не используют
> stdin/stdout для работы.
У демонов никто и не кодит чудо-интерфейсы на stdin/out. Так что и вопрос не возникает.