Класс QMaskGenerator
Класс QMaskGenerator предоставляет абстрактный базовый класс для пользовательских генераторов 32-битных масок. Подробнее...
| Заголовок: | #include <QMaskGenerator> |
| CMake: | find_package(Qt6 COMPONENTS WebSockets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::WebSockets) |
| qmake: | QT += websockets |
| С момента: | Qt 5.3 |
| Наследуется от: | QObject |
Открытые функции
| QMaskGenerator(QObject *parent = nullptr) | |
| virtual | ~QMaskGenerator() override |
| virtual quint32 | nextMask() = 0 |
| virtual bool | seed() = 0 |
Подробное описание
Спецификация WebSockets, как описано в RFC 6455, требует, чтобы все сообщения от клиента к серверу были замаскированы. Это предотвращает злонамеренным скриптам атаковать плохо работающие прокси-серверы. Дополнительную информацию о важности хорошего маскирования см. в "Talking to Yourself for Fun and Profit" by Lin-Shung Huang et al. По умолчанию QWebSocket использует достаточно безопасную функцию QRandomGenerator::global()->generate(). Лучшей мерой защиты от атак, упомянутых в документе выше, является использование QWebSocket по защищенному соединению (wss://). Как правило, всегда будьте осторожны, чтобы скрипты третьих сторон не имели доступа к QWebSocket в вашем приложении.
Документация по членам функций
QMaskGenerator::QMaskGenerator(QObject *parent = nullptr)
Создаёт новый объект QMaskGenerator с указанным необязательным родительским объектом QObject parent.
[override virtual] QMaskGenerator::~QMaskGenerator()
Уничтожает объект QMaskGenerator.
[pure virtual] quint32 QMaskGenerator::nextMask()
Возвращает новую случайную 32-битную маску. Случайность зависит от используемого ПГС для создания маски.
[pure virtual] bool QMaskGenerator::seed()
Инициализирует QMaskGenerator путем инициализации генератора случайных чисел. Если seed() не вызывается, то зависит от конкретной реализации подкласса, используется ли по умолчанию значение seed или вообще не используется. Возвращает true, если инициализация успешна, в противном случае false.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qmaskgenerator.html