国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

如何有效防范偽造跨站請(qǐng)求

什么是偽造跨站請(qǐng)求偽造跨站請(qǐng)求是一種難以防范的攻擊方式,攻擊者可以通過(guò)偽造請(qǐng)求進(jìn)行惡作劇、發(fā)垃圾信息、刪除數(shù)據(jù)等危害。通常表現(xiàn)為偽造鏈接引誘用戶點(diǎn)擊或在用戶不知情的情況下訪問(wèn),以及偽造表單引誘用戶提

什么是偽造跨站請(qǐng)求

偽造跨站請(qǐng)求是一種難以防范的攻擊方式,攻擊者可以通過(guò)偽造請(qǐng)求進(jìn)行惡作劇、發(fā)垃圾信息、刪除數(shù)據(jù)等危害。通常表現(xiàn)為偽造鏈接引誘用戶點(diǎn)擊或在用戶不知情的情況下訪問(wèn),以及偽造表單引誘用戶提交,表單可能隱藏、用圖片或鏈接偽裝。

常見(jiàn)防范手段

一種常見(jiàn)且廉價(jià)的防范手段是在所有涉及用戶寫(xiě)操作的表單中加入一個(gè)隨機(jī)且頻繁變換的字符串,在處理表單時(shí)對(duì)該字符串進(jìn)行檢查。如果隨機(jī)字符串與當(dāng)前用戶身份相關(guān)聯(lián),那么攻擊者要偽造請(qǐng)求就會(huì)變得更加困難。Facebook等平臺(tái)也采取類(lèi)似措施,在表單中常添加像`.crumb`、`post_form_id`和`fb_dtsg`等字段來(lái)防范偽造跨站請(qǐng)求。

實(shí)現(xiàn)隨機(jī)串代碼

按照上述思路,實(shí)現(xiàn)一個(gè)名為crumb的隨機(jī)串代碼,代碼如下:

```php

class Crumb {

const SALT "your-secret-salt";

static $ttl 7200;

static public function challenge($data) {

return hash_hmac('md5', $data, self::SALT);

}

static public function issueCrumb($uid, $action -1) {

$i ceil(time() / self::$ttl);

return substr(self::challenge($i . $action . $uid), -12, 10);

}

static public function verifyCrumb($uid, $crumb, $action -1) {

$i ceil(time() / self::$ttl);

if(substr(self::challenge($i . $action . $uid), -12, 10) $crumb || substr(self::challenge(($i - 1) . $action . $uid), -12, 10) $crumb)

return true;

return false;

}

}

```

構(gòu)造包含隨機(jī)串的表單

在表單中插入一個(gè)隱藏的隨機(jī)串crumb:

```html

">

```

對(duì)隨機(jī)串進(jìn)行檢查

在處理表單時(shí),需要對(duì)隨機(jī)串crumb進(jìn)行驗(yàn)證:

```php

if(Crumb::verifyCrumb($uid, $_POST['crumb'])) {

// 處理表單

} else {

// 錯(cuò)誤提示

}

```

通過(guò)上述方法,可以有效防范偽造跨站請(qǐng)求的攻擊,保護(hù)用戶數(shù)據(jù)安全和系統(tǒng)正常運(yùn)行。在網(wǎng)站開(kāi)發(fā)中,務(wù)必重視安全性,避免因漏洞而導(dǎo)致信息泄露或損害。

標(biāo)簽: