express框架開發(fā)的web項目,怎么防御csrf?
看到https://github.com/expressjs/...,但項目是前后端分離的,怎么在項目中加csrftoken
CSRF庫官方文檔的例子修修改改就行了。
CSRF token。CSRF token。服務(wù)端代碼:
var cookieParser = require('cookie-parser')
var csrf = require('csurf')
var bodyParser = require('body-parser')
var express = require('express')
// 模板
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
// CSRF中間件初始化
var csrfProtection = csrf({ cookie: true })
// create express app
var app = express()
// cookie解析
app.use(cookieParser())
// 解析參數(shù)
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
// CSRF防護
app.use(csrfProtection)
// 訪問頁面,生成CSRF token,并注入頁面
app.get('/index', function (req, res, next) {
res.render('index', { csrfToken: req.csrfToken() })
})
// 請求接口,解析請求參數(shù),獲取CSRF token,進行校驗(中間件完成的)
app.post('/api', function (req, res) {
res.send('你的處理結(jié)果')
})
預(yù)留了CSRF token的位置。
<html>
<head>
<title>CSRF防護</title>
</head>
<body>
<h1>CSRF防護</h1>
<p id="csrf-token"><%= csrfToken %></p>
</body>
</html>
發(fā)請求時,把csrfToken加到請求參數(shù)里去就行。這里略過
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓領(lǐng)域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務(wù)負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。