小编And*_*tin的帖子

如何在node.js中关闭firebase连接

下面是我使用firebase的一个简单示例:

let firebase = require('firebase');
firebase.initializeApp({
  serviceAccount: './config/firebase.json',
  databaseURL: 'https://thenameofhedatabase.firebaseio.com'
});

let db = firebase.database();
...
...
Run Code Online (Sandbox Code Playgroud)

关键是在所有代码执行后,db对象保存node.js会话.我不想打电话process.exit(0).那么,关闭或处理dbfirebase对象的正确方法是什么?

javascript node.js firebase firebase-realtime-database

7
推荐指数
1
解决办法
5752
查看次数

create-react-app中的JSX文件

只是想知道create-react-app如何使用.js文件而不是.jsx用于jsx标记.是因为特殊的webpack配置吗?顺便问一下,在哪里可以找到使用create-react-app创建的项目的webpack和babel配置?

javascript jsx reactjs webpack create-react-app

6
推荐指数
1
解决办法
6730
查看次数

ASP.NET Core MVC防伪

试图在核心mvc项目中打开防伪,但没有运气.做了什么:

添加过滤器以自动检查每个POST请求上的防伪标记.

services.AddMvc(o =>
{
  o.Filters.Add(new AutoValidateAntiforgeryTokenAttribute());
});
Run Code Online (Sandbox Code Playgroud)

令牌生成以这种方式添加到每个页面.

@inject Microsoft.AspNetCore.Antiforgery.IAntiforgery Antiforgery;
@{
   var antiforgeryRequestToken = Antiforgery.GetAndStoreTokens(Context).RequestToken;
}
...
...
<script>
    var antiforgeryToken = @Json.Serialize(antiforgeryRequestToken);
</script>
Run Code Online (Sandbox Code Playgroud)

最后每个客户端ajax请求都添加了RequestVerificationToken这种方式.

var options = {
        url: o.url, type: 'POST', data: o.params, headers: { 'RequestVerificationToken': antiforgeryToken } };
Run Code Online (Sandbox Code Playgroud)

我可以看到每个ajax请求都有令牌,但我总是为任何POST请求获得400.如果我禁用过滤器,它可以正常工作.但是一旦我启用它,asp.net核心就会在每个POST请求上启动验证,它总是返回400.

有任何想法吗?

更新:

我按照评论中的说明进行操作,现在代码如下所示.ConfigureServices方法:

services.AddMvc(o => { 
  o.Filters.Add(new HandleAllExceptionsFilterFactory()); 
  o.Filters.Add(new AutoValidateAntiforgeryTokenAttribute()); 
}); 

services.AddAntiforgery(o => o.CookieName = "XSRF-TOKEN");
Run Code Online (Sandbox Code Playgroud)

这是注册的中间件:

app.Use(next => context => { 
if (context.Request.Path == "/") 
{ 
    var antiforgery = app.ApplicationServices.GetService<IAntiforgery>(); 
    var token = …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc antiforgerytoken asp.net-core

4
推荐指数
1
解决办法
3222
查看次数