_px3 クッキーとは

最終確認 2026年11月10日 · 約7分

結論から: _px3 は PerimeterX(現 HUMAN Security)が、センサー検査を通ったブラウザに発行するクッキーです。サイトが持つ鍵で暗号化されたペイロード、ペイロード内部の短い失効時刻、そして HMAC 署名を持ちます。別クライアントへコピーできるセッショントークンではありません。署名はペイロード全体を覆っており、サーバーは独自のスケジュールで再署名します。

中身は 4 つの区切りでできている

_px3 の値はコロン区切りの 4 部分です。暗号化ペイロード、タイムスタンプ、ハッシュ、署名。実務で効くのはこの 3 点です。

部分何を決めるか
暗号化ペイロードPerimeterX がそのセッションについて計算したスコア、発行先の IP と User-Agent、_pxvid に結びつく UUID を含みます。
タイムスタンプ発行時刻。どれだけ新鮮と見なすかはサイトのポリシーが決めます。
署名サイト固有の鍵によるペイロード全体の HMAC。書き換えると壊れるので、低いスコアを高いスコアに編集することはできません。

失効時間が 2 つある

ここで大半の実装が壊れます。サーバーがクッキーに付ける Expires と、ペイロードに焼き込まれ、サーバーが独自に適用する寿命は別物です。両者は一致する必要がありません。Expires が 2 時間先でも、ペイロード側は発行時刻から測った TTL の終わりに近いことがあります。サーバー側の TTL は発行時点から測るのであって、最後に使った時刻からではありません。

ブラウザが捨てるまでクッキーを使い回すと、その窓の後半は「ジャーには有効に見えるのに、応答はチャレンジになる」時間になります。直し方は Expires 属性を読むことではなく、毎回のレスポンスの Set-Cookie を見て、ジャーの項目を無条件に差し替えることです。

別マシンへ移すと通らない理由

コードでの形

実ブラウザで通す場合の最小形です。要点は、クッキー単体ではなくコンテキストごと保持すること、そして期限を待たずに毎回の Set-Cookie を反映することです。

ctx = browser.new_context(proxy=PROXY)      # 出口は固定
page = ctx.new_page()
page.goto(url)                               # ここでセンサーが走る
jar = await ctx.cookies()                    # _px3 と _pxvid が揃う
# 403 や captcha ページが出たら、同じコンテキストでナビゲートし直す。
# Expires を見て待つのではなく、Set-Cookie のたびにジャーを差し替える。

s2s という別の経路

PerimeterX には、一部の連携で使われるサーバー間トークンの流れがあります。その経路は HUMAN の API で直接検証されるトークンを返し、ブラウザ側のクッキーをまったく必要としません。テストを許可されているサイトが対応しているなら、クッキージャーよりはるかに安定します。両モードを SolveHub の API がどう出しているかは PerimeterX のエンドポイント にまとめています。

s2s が提供されていない場合の誠実な選択肢は 2 つです。実ブラウザでセンサーを動かし、ジャー全体とネットワーク同一性を保持する。あるいは、対象 URL 用の有効な _px3 を解決 API から取得する。ペイロードを自分で再生成するのは、難読化された回転スクリプトとサイトの鍵を再実装するということで、引き受ける価値のある保守負担ではありません。

関連するクッキー

よくある質問

_px3 のペイロードは復号できますか。 実用にはなりません。サイトが管理する鍵で暗号化されているので、分かるのは長さだけです。クライアント側に鍵はありません。

失効前に動かなくなるのはなぜですか。 サーバーが発行時点から独自の寿命を適用しており、それがクッキーの Expires より短いことがあるためです。Set-Cookie のたびにジャーの項目を差し替えてください。

別の IP からでも _px3 は通りますか。 長くは通りません。ペイロードには発行セッションの IP と User-Agent が記録されており、機械の速度で要求するセッションは次の再署名で再評価されます。

_px3 と _pxvid はどちらも必要ですか。 多くのサイトでは両方です。_px3 単体では、エッジが参照できないセッションへの署名になります。

スコアを上げる方法はありますか。 ペイロードの編集はできません。署名が壊れます。スコアはセッションの振る舞いから計算されるので、実ブラウザで通すか、解決 API から新しい値を得るのが現実的です。