このページでは

QMaskGenerator Class

QMaskGenerator クラスは、カスタム 32 ビット マスク ジェネレータのための抽象基底クラスを提供します。詳細...

ヘッダー: #include <QMaskGenerator>
CMake: find_package(Qt6 REQUIRED COMPONENTS WebSockets)
target_link_libraries(mytarget PRIVATE Qt6::WebSockets)
qmake: QT += websockets
継承元: QObject

パブリック関数

QMaskGenerator(QObject *parent = nullptr)
virtual ~QMaskGenerator() override
virtual quint32 nextMask() = 0
virtual bool seed() = 0

詳細な説明

RFC 6455に規定されている WebSockets 仕様では、クライアントからサーバーへのすべての通信をマスキングすることが求められています。これは、悪意のあるスクリプトが不正な動作をするプロキシを攻撃するのを防ぐためです。 適切なマスキングの重要性に関する詳細については、Lin-Shung Huang らによる「Talking to Yourself for Fun and Profit」を参照してください。デフォルトでは、QWebSocket は、適度に安全なQRandomGenerator::global()->generate()関数を使用します。上記の文書で言及されている攻撃に対する最善の対策は、セキュアな接続(wss://)上でQWebSocket を使用することです。 一般に、アプリケーション内の `QWebSocket ` にサードパーティのスクリプトがアクセスできないよう、常に注意を払ってください。

メンバー関数のドキュメント

[explicit] QMaskGenerator::QMaskGenerator(QObject *parent = nullptr)

指定されたオプションのQObject parent を使用して、新しいQMaskGeneratorオブジェクトを作成します。

[override virtual noexcept] QMaskGenerator::~QMaskGenerator()

QMaskGenerator オブジェクトを破棄します。

[pure virtual] quint32 QMaskGenerator::nextMask()

新しい32ビットのランダムマスクを返します。ランダム性は、マスクの生成に使用された乱数生成器(RNG)によって異なります。

[pure virtual] bool QMaskGenerator::seed()

ランダム化機能にシードを指定して、QMaskGenerator を初期化します。seed()が呼び出されない場合、デフォルトのシードが使用されるか、あるいはシードがまったく使用されないかは、サブクラスの具体的な実装に依存します。シードの設定に成功した場合はtrueを返し、失敗した場合はfalseを返します。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.