Проблема безопасности с WebRequest и cookies

 

Поправьте меня, если где-то ошибаюсь (надеялся что что-то поменялось с момента написания учебника), но сейчас веб-клиентом в контексте WebRequest является терминал целиком. Это означает, что куки, полученные скриптом А с сайта S, будут отсылаться на сайт S, когда с ним начнет работать и другой скрипт Б.

Допустим, Вася Пупкин скриптом залез на какую-то популярную крипто-биржу, ввел ключ/секрет и получил токен для сессии. Значит любая другая MQL-программа может работать с этой биржей с полным доступом.

Причем понятие веб-сессии также завязано на время работы терминала, а не конкретной MQL-программы, то есть вплоть до закрытия терминала "чужие" куки вроде подобных токенов полного доступа в "банк" остаются в распоряжении любых запускаемых MQL-программ.

Это нормально? Кто как решает вопросы с безопасностью веб-реквизитов в WebRequest?

 
Наверное нужно писать реализацию поверх TCP сокета как в учебнике было, по идее тогда можно самому управлять куками
 
В общем, пока из того, что более или менее могло бы решить проблему, видится, чтобы разработчики терминала трактовали каждую MQL-программу как "внешний" сайт, и любые куки, устанавливаемые через WebRequest, дополнительно автоматически помечали Partitioned, ну и затем выдавали обратно куки по соответствующим условиям. Но это в перспективе, и только как рацпредложение.
Cookies Having Independent Partitioned State (CHIPS) - Privacy on the web | MDN
Cookies Having Independent Partitioned State (CHIPS) - Privacy on the web | MDN
  • 2025.02.21
  • developer.mozilla.org
To understand how CHIPS works, let's look at a brief example. Historically when a site embeds content via an , the embedded content has been able to set a cookie on the user's device in response to the cross-site request. If the user visits other sites that embed the same content, the embedded content can access the same cookie originally set...
 

Возник еще один вопрос: как удалить куки из хранилища WebRequest-а?

Пробовал ставить в заголовках, отправляемых с сервера, Set-Cookie и с атрибутом Max-Age=0, и Expires=Thu, 01 Jan 1970 00:00:00 GMT - ничего не имеет эффекта. WebRequest сохраняет куки до остановки терминала.

Есть какие-то народные способы по удалению кук специально для МТ5? 

ЗЫ. Похоже установка в пустое значение приводит к удалению.