Quyền truy cập
Thuộc tính lớp AccessRights
Để bảo vệ người dùng khỏi mã độc, chúng tôi chạy mọi cBot hoặc chỉ báo trong một môi trường sandbox. Do đó, các cBot và chỉ báo phải khai báo quyền truy cập cần thiết của chúng thông qua thuộc tính lớp AccessRights như được hiển thị bên dưới.
1 2 | |
1 2 | |
Hai giá trị có thể có cho thuộc tính AccessRights như sau:
None- tiện ích mở rộng chỉ có quyền truy cập vào dữ liệu API do nền tảng cung cấp. Nó sẽ không thể truy cập bất cứ thứ gì bên ngoài nền tảng.-
FullAccess- tiện ích mở rộng có quyền truy cập không giới hạn. Nó có thể truy cập Internet, đọc và ghi tệp, chạy các tệp thực thi khác, nhập các hàm WinApi, sử dụng phản chiếu .NET và tạo cửa sổ. !!! note "Ghi chú"Có một số tính năng API vẫn cho phép các thuật toán thực hiện các hành động khác nhau ngay cả khi
AccessRights.Noneđược khai báo.
Nếu AccessRights.FullAccess được khai báo, cửa sổ sau sẽ được hiển thị khi chạy một phiên bản của cBot hoặc chỉ báo đang được đề cập.

Ngoại lệ bảo mật
Nếu cBot hoặc chỉ báo của bạn cố gắng thực hiện một hành động bị hạn chế, mã sẽ ném ra một ngoại lệ bảo mật.
Ví dụ, nếu một cBot với AccessRights.None cố gắng đọc từ một tệp văn bản (mà không sử dụng tính năng truy cập tệp), nó sẽ bị dừng và thông báo sau sẽ xuất hiện trong nhật ký.
Crashed in OnStart with SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
Cách chắc chắn nhất để tránh ngoại lệ này là khai báo AccessRights.None cho tất cả các tiện ích mở rộng của bạn trừ khi bạn có kế hoạch phân phối chúng cho các nhà giao dịch khác.