第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP - 如何在同一頁面上以多種形式使用csrf令牌

PHP - 如何在同一頁面上以多種形式使用csrf令牌

PHP
犯罪嫌疑人X 2023-11-05 15:50:43
我在同一頁上有 2 個表格。我想以兩種形式使用 csrf 令牌。當(dāng)我嘗試使用它時,它會在提交表單時重新生成 csrf 令牌。我該如何解決這個問題?<?phpfunction csrf_token() {    return bin2hex(random_bytes(35));}function create_csrf_token() {    $token = csrf_token();    $_SESSION['csrf_token'] = $token;    $_SESSION['csrf_token_time'] = time();    return $token;}function csrf_token_tag() {    $token = create_csrf_token();    return '<input type="hidden" name="csrf_token" value="' . $token . '">';}$csrf_token = csrf_token_tag();?><form action="" method="post">    ...    <?= $csrf_token; ?></form><form action="" method="post">    ...    <?= $csrf_token; ?></form>
查看完整描述

1 回答

?
呼啦一陣風(fēng)

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個贊

當(dāng)您刷新頁面時,該函數(shù)created_csrf_token會再次觸發(fā),從而更改 CSRF 令牌。


你可以確定范圍。例如


<?php


function csrf_token() {

? ? return bin2hex(random_bytes(35));

}


function create_csrf_token() {

? ? if (isset($_SESSION['csrf_token'])) {

? ? ? ? return $_SESSION['csrf_token'];

? ? }

? ? $token = csrf_token();

? ? $_SESSION['csrf_token'] = $token;

? ? $_SESSION['csrf_token_time'] = time();

? ? return $token;

}


function csrf_token_tag() {

? ? $token = create_csrf_token();

? ? return '<input type="hidden" name="csrf_token" value="' . $token . '">';

}


$csrf_token = csrf_token_tag();

?>


<form action="" method="post">

? ? ...

? ? <?= $csrf_token; ?>

</form>


<form action="" method="post">

? ? ...

? ? <?= $csrf_token; ?>

</form>

將 isset 添加到 中將create_csrf_token檢查是否設(shè)置了 CSRF 令牌,并返回現(xiàn)有令牌,而不是創(chuàng)建新令牌。


不過,您可能想添加一些邏輯,以便在大約 5 分鐘后創(chuàng)建一個新的 CSRF 令牌。


查看完整回答
反對 回復(fù) 2023-11-05
  • 1 回答
  • 0 關(guān)注
  • 121 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號