php 防跨站表單提交

2022-02-26 02:06:47 字數 686 閱讀 4096

一種最優方式防跨站表單提交,使用者限時token

就是生成乙個隨機且變換頻繁加密字串(可逆和不可逆)。放在表單中,等到表單提交後檢查。

這個隨機字串如果和當前使用者身份相關聯的話,那麼攻擊者偽造請求會比較麻煩。

對付偽造跨站請求的辦法是在表單裡加入乙個叫.crumb的隨機串;而facebook也有類似的解決辦法,它的表單裡常常會有post_form_id和fb_dtsg。這種方式中,字串的有效時間要設定好,太短了使用者體驗不好,比如好不容易寫好文章提交,令牌卻到期了。不得不重寫,這很糟糕的體驗。因此,ttl過期時間應可設定。

下面是乙個網上的不可逆的驗證方式,值的推薦:

class token

static public

function verify($uid, $crumb, $action = -1)

static private

function challenge($data)

}

使用:在表單中插入乙個隱藏的隨機串crumb,其中,$uid可以是會員的id,這樣就有獨立性。

">

在php伺服器接收端,這樣檢驗。

<?php

if(token::verify($uid, $_post['token']))else

摘自:

PHP防止跨站表單提交與同站跨頁偽造表單的攻擊

在以前的防止跨站攻擊的時候,使用了驗證提交的頁面是否是同乙個站點,這樣可以防止普通的攻擊,ereg blog.qita.in server http referer 不過也不是很安全的,因為攻擊者可以偽造http referer,如 header referer blog.qita.in 或者在惡意...

PHP防止跨站表單提交與同站跨頁偽造表單的攻擊

在以前的防止跨站攻擊的時候,使用了驗證提交的頁面是否是同乙個站點,這樣可以防止普通的攻擊,ereg blog.qita.in server http referer 不過也不是很安全的,因為攻擊者可以偽造http referer,如 header referer blog.qita.in 或者在惡意...

PHP實現跨域提交表單

當站 www.a.com 的乙個表單需要提交到b站 www.b.com 的diy.php進行跨域處理。a站ajax的提交表單時需要加上 xhrfields 與crossdomain true function send ajax跨域提交需要 crossdomain true ajax跨域提交需要 s...