php表單加入Token防止重複提交

2021-07-25 13:55:27 字數 2092 閱讀 1557

<?php

/** php簡單利用token防止表單重複提交

* 此處理方法純粹是為了給初學者參考

*/session_start();

function set_token()

function valid_token()

//如果token為空則生成乙個token

if(!isset($_session['token']) || $_session['token']=='')

if(isset($_post['test']))else

}?>

上面的比較簡單一點的方法,下面的**更加安全一點。

token.php

<?php /*

* created on 2013-3-25

* * to change the template for this generated file go to

* window - preferences - phpeclipse - php - code templates

*/function gettoken($len = 32, $md5 = true) ',

'[',

']',

'h',

';',

'w',

'.',

'/',

'|',

':',

'1',

'e',

'l',

'4',

'&',

'6',

'7',

'#',

'9',

'a',

'a',

'b',

'b',

'~',

'c',

'd',

'>',

'e',

'2',

'f',

'p',

'g',

')',

'?',

'h',

'i',

'x',

'u',

'j',

'k',

'r',

'l',

'3',

't',

'm',

'n',

'=',

'o',

'+',

'p',

'f',

'q',

'!',

'k',

'r',

's',

'c',

'm',

't',

'v',

'j',

'u',

'v',

'w',

',',

'x',

'i',

'$',

'y',

'z',

'*'); # array indice friendly number of chars;

$numchars = count($chars) - 1;

$token = '';

# create random token at the specified length

for ($i = 0; $i < $len; $i++)

$token .= $chars[mt_rand(0, $numchars)];

# should token be run through md5?

if ($md5)

return $token;

}?>

form.php

<?php

include_once("token.php");

$token = gettoken();

session_start();

$_session['token'] = $token;

?>action.php

<?php

session_start();

if($_post['token'] == $_session['token'])else

?>

php表單加入Token防止重複提交

token token,就是令牌,最大的特點就是隨機性,不可 一般黑客或軟體無法猜測出來。那麼,token有什麼作用?又是什麼原理呢?token一般用在兩個地方 防止表單重複提交 anti csrf攻擊 跨站點請求偽造 兩者在原理上都是通過session token來實現的。當客戶端請求頁面時,伺服...

php 表單加入Token防止重複提交

token token,就是令牌,最大的特點就是隨機性,不可 一般黑客或軟體無法猜測出來。token作用與原理 token一般用在兩個地方 兩者在原理上都是通過session token來實現的。當客戶端請求頁面時,伺服器會生成乙個隨機數token,並且將token放置到session當中,然後將t...

php表單加入Token防止重複提交的方法分析

token token,就是令牌,最大的特點就是隨機性,不可 一般黑客或軟體無法猜測出來。那麼,token有什麼作用?又是什麼原理呢?token一般用在兩個地方 防止表單重複提交 anti csrf攻擊 跨站點請求偽造 兩者在原理上都是通過session token來實現的。當客戶端請求頁面時,伺服...