在sailsjs或expressjs应用的路由上select性地应用CSRF令牌约束

是否可以有select地将CSRF标记检查应用于某些请求/路由? 如果我想申请在我的申请中使用的6个职位申请中的4个,是否有可能? CSRF令牌是否与GET请求有关联? 作为sailsjs的参考文档说:“当启用CSRF保护时,对Sails服务器的所有非GET请求都必须附带一个特殊标记,由查询string或HTTP主体中的标头或参数标识。 普通的基于expressjs的应用程序是否一样?

我发现有关“有select地”启用/禁用CSRF令牌的唯一选项是在这个文档中 ,它允许一种“黑名单”csrf将被禁用。 所以你在configuration文件夹中的csrf.js将如下所示:

module.exports.csrf = { // it says comma delimited list in the docs, but not sure if it has to look exactly like this, // the docs seem to be a bit unclear routesDisabled: "POST /model,DELETE /model/:id" }; 

CSRF通常与GET请求无关,因为这些应该没有任何副作用(如果REST符合)。 CSRF令牌是一个真实性标记,用于在修改请求(即,发布,删除)时向Web服务器/后端certificate您(访问者/用户)没有被其他人以恶意欺骗(例如伪造一个简单的重命名操作,它反过来试图在幕后删除您的帐户)。

因此,csrf标记certificate表单是由您希望发出请求的服务器/后端生成的。

我不是很确定有关express.js应用程序的csrf标记。 但是因为sails.js是基于express.js的,所以它可能是相同的机制。