我在我的javascripts中使用了幾個地方的window.location.href
。有沒有任何通用的方法來將CSRF令牌添加到所有這些令牌?爲window.location.href添加CSRF令牌
由於window.location的是一個對象,
window.location.href
是其屬性的一個 ,我們不能將其覆蓋。編寫一個像下面這樣的通用函數,並且路由所有的 實例將會更加人工和耗時。
addCSRFAndProceed(url);
function addCSRFAndProceed (url) {
window.location.href = url + getCSRFTokenAndValue();
}
後端代碼 這裏是從我的後端設置CSRF cookie中的代碼。
$_COOKIE['CSRFTOKEN'] = '123456';
HTML代碼
<div class="redirect-button" onclick="TriggerRequest()">
Javascript代碼
function TriggerRequest() {
window.location.href="www.mysite.com/?index.php&from=desktop";
}
我有使用window.location.href
和期待一個通用的解決方案,以追加標記將網址,因爲這將不同的功能忙於手動追加所有功能。
你應該產生在後端的CSRF令牌(假設你是不是在談論Node.js的),你如果你想有一個「標準」的地方來獲得令牌,可以把它放在標題中。但是,你需要csrf重定向嗎?將它用於表單不是更好嗎? –
我使用的是純javascript。我已經創建了CSRF令牌並將其保存在cookie中。我同意**最好使用表單,並且我們可能不需要CSRF重定向**。 但不幸的是,我的後端邏輯來檢查CSRF令牌沒有更多的智能來分離不同類型的請求,並最終從前端修復。 – Barath
但客戶端如何生成csrf令牌保護你? *「永遠不要相信客戶端」* –