security_hashes

security_hashes 用來把 hash token 關聯到特定資料表的某一筆資料。

資料表關聯

欄位規則
model目標資源類型
foreign_id目標資源 id
hash對外 token
user_idhash 通過後使用的 user id

常見對應:

modelforeign_id 對應
QuoteRequestquote_requests.id
QuoteBidquote_bids.id
Userusers.id

查詢規則

查 quote request hash:

SELECT *
FROM security_hashes
WHERE model = 'QuoteRequest'
  AND hash = ?

通過後還要確認:

(int)$hashRecord['foreign_id'] === $quoteRequestId

新舊專案位置

專案位置
舊專案get-lancer-php56/app/Model/SecurityHash.php
新專案pro360_api_82/Lib/Model/SecurityHash.php

注意

  • QuoteRequest hash 查詢本身不檢查 14 天期限;舊新專案目前都是 User model 才套期限。
  • hash flow 通過時,用 security_hashes.user_id,不是 session user。