Показать сообщение отдельно
Старый 30.09.2008, 18:07   #13  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,340 / 3558 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Yprit Посмотреть сообщение
1. It verifies that the code asserted the appropriate permission on the call stack to use the dangerous API.
2. It verifies that the assert (the request to use the dangerous API) was executed in trusted code and saved in the AOT.
3. It verifies that the assert was executed on the same tier as the dangerous API.
Это все конечно замечательно - что осуществляется такая проверка...
Но получается (если я правильно понял по аглицки):
1. Проверка, что код имеет соответствующее разрешение по стеку вызовов (интересно - какой стек вызовов должен быть, чтобы он не прошел проверку - просто без этого кода?)
2. Проверка, что вызов опасного API был вызван из "доверенного" кода, сохраненного в АОТ. А какой код не доверенный? Не сохраненный в АОТ?. Интересно - во-первых - как такой код исполняется (в Аксапте) и даже не столько это, а сколько то, что в Аксапте так просто создать код, сохраненный в АОТ и вызвать "опасный" код оттуда - что при желании так сделать - это сделать все равно можно.
3. Проверка, что код, вызывающий опасное API - вызывается это на той же стороне (клиент/сервер), что и само API. Вот это совсем непонятно.. Во первых вызвать код там где надо не составляет труда, а во-вторых - да какая разница?

Т.е. как бы получается - что эта проверка в общем-то ничего не дает. Только если самому что-то писать (какие-то свои проверки) - тогда проверка нужна... Но тут и вопрос - если самому писать - то зачем тогда поддержка на уровне ядра?

Или я что-то не так понял?

Попутно присоединяюсь к вопросу автора ветки - почему запрещено-таки вызывать такие вещи, как сборка .NET, как ADO с сервера?
__________________
Возможно сделать все. Вопрос времени