Цитата:
Сообщение от
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 с сервера?