您好,登錄后才能下訂單哦!
這篇“jquery的安全漏洞有哪些”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“jquery的安全漏洞有哪些”文章吧。
1.檢查ORIGIN標(biāo)頭
根據(jù)OWASP的指定,這還不夠,但建議:
盡管從您自己的瀏覽器中欺騙任何標(biāo)頭很簡(jiǎn)單,但除非通過XSS漏洞,否則在CSRF攻擊中通常是不可能的。這就是為什么檢查標(biāo)頭是CSRF防御中合理的第一步,但是由于它們并不總是存在,因此通常不能單獨(dú)考慮將其視為足夠的防御。
Origin標(biāo)頭被認(rèn)為有助于防止JSON數(shù)據(jù)盜用和CSRF攻擊。Origin提供的信息(一些上下文請(qǐng)求創(chuàng)建信息)應(yīng)向Web服務(wù)器提供有關(guān)請(qǐng)求可信度的提示[…]
檢查HTTP_ORIGIN標(biāo)題可以寫成:
header('Content-Type: application/json');
if (isset($_SERVER['HTTP_ORIGIN'])) {
$address='http://' . $_SERVER['SERVER_NAME'];
if (strpos($address, $_SERVER['HTTP_ORIGIN']) !==0) {
exit(json_encode([
'error'=> 'Invalid Origin header: ' . $_SERVER['HTTP_ORIGIN']
]));
}
} else {
exit(json_encode(['error'=> 'No Origin header']));
}
1.(之二)檢查REFERER標(biāo)頭
如果沒有Origin頭
,請(qǐng)確認(rèn)Referer頭中的主機(jī)名與站點(diǎn)的來源匹配。檢查引薦是防止嵌入式網(wǎng)絡(luò)設(shè)備上CSRF的一種常用方法,因?yàn)樗恍枰總€(gè)用戶狀態(tài)。。這種CSRF緩解方法也常用于未經(jīng)身份驗(yàn)證的請(qǐng)求[…]
使用來檢查,HTTP_REFERER在PHP中也非常簡(jiǎn)單$_SERVER['HTTP_REFERER'],您可以使用來更新上面的代碼。
請(qǐng)務(wù)必 始終進(jìn)行真正的檢查:不要只檢查 example.com 或 _api.example.com,而不要檢查完整的
_api.example.com.hacker.com之 類的來源來欺騙此檢查。
2.生成CSRF令牌
簡(jiǎn)而言之,已經(jīng)給出了一個(gè)專門針對(duì)PHP的解釋清楚的答案:
生成令牌:
session_start();
if (empty($_SESSION['csrf_token'])) {
$_SESSION['csrf_token']=bin2hex(random_bytes(32));
}
通過meta(例如Github)將其添加到生成的視圖中:
設(shè)置jQuery ajax調(diào)用以包含此令牌:
$.ajaxSetup({
headers : {
'CsrfToken': $('meta[name="csrf-token"]')。attr('content')
}
});
服務(wù)器端檢查您的AJAX請(qǐng)求:
session_start();
if (empty($_SESSION['csrf_token'])) {
$_SESSION['csrf_token']=bin2hex(random_bytes(32));
}
header('Content-Type: application/json');
$headers=apache_request_headers();
if (isset($headers['CsrfToken'])) {
if ($headers['CsrfToken'] !==$_SESSION['csrf_token']) {
exit(json_encode(['error'=> 'Wrong CSRF token.']));
}
} else {
exit(json_encode(['error'=> 'No CSRF token.']));
}
大多數(shù)PHP框架都有自己的CSRF實(shí)現(xiàn),或多或少都基于相同的原理。
以上就是關(guān)于“jquery的安全漏洞有哪些”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。