小编Ant*_*ony的帖子

Cloudflare 在处于攻击模式下时清理 Access-Control-Allow-Origin 标头

我需要能够在我的服务器上设置 Access-Control-Allow-Origin 响应标头,但是当我切换到攻击下模式(我现在需要该模式,因为我正在遭受 DDOS)时,Cloudflare 会清除此内容以及一堆其他标题破坏了我需要的一些网站功能。

我向 Cloudflare 发送了一条消息,正在等待回复,在此期间有什么想法吗?

header ddos access-control cors cloudflare

5
推荐指数
0
解决办法
707
查看次数

如何模拟fs.readFile返回的错误以进行测试?

我是测试驱动开发的新手,我正在尝试为我的应用程序开发一个自动化测试套件.

我已成功编写测试来验证从成功调用Node的fs.readFile方法收到的数据,但正如您将在下面的屏幕截图中看到的,当我使用istanbul模块测试我的覆盖时,它正确显示我没有测试过这个案例从fs.readFile返回错误的位置.

在此输入图像描述

我怎样才能做到这一点?我有一种预感,我必须模拟一个文件系统,我尝试使用mock-fs模块,但没有成功.该函数的路径是硬编码的,我使用重新连接从我的应用程序代码调用未导出的函数.因此,当我使用rewire的getter方法访问getAppStatus函数时,它使用真正的fs模块,因为这是getAppStatus所在的async.js文件中使用的模块.

这是我正在测试的代码:

// check whether the application is turned on
function getAppStatus(cb){
  fs.readFile(directory + '../config/status.js','utf8', function(err, data){
    if(err){
      cb(err);
    }
    else{
      status = data;
      cb(null, status);
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

这是我为返回数据的情况编写的测试:

  it('application should either be on or off', function(done) {
      getAppStatus(function(err, data){
        data.should.eq('on' || 'off')

        done();
      })
  });
Run Code Online (Sandbox Code Playgroud)

我使用Chai作为断言库并使用Mocha运行测试.

允许我模拟从fs.readFile返回的错误的任何帮助,所以我可以为这个场景编写测试用例非常感谢.

unit-testing mocha.js fs node.js chai

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

Node 的 NODE_ENV 的 Golang 等价物是什么

我正在尝试设置模板,由此基于环境变量来指示我们是在开发、登台还是生产环境中,呈现的 HTML 指向不同的服务器。

为此,我想使用 Node 在 NODE_ENV 环境变量中所做的事情,然后根据我的代码有条件地设置路径。

if(process.env.NODE_ENV === 'development') {
  /* development code */
} else {
  /* production code */
}
Run Code Online (Sandbox Code Playgroud)

Golang 有定义环境的标准吗?这看起来是一种合乎逻辑的方法吗?

templates environment-variables go node.js

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

CORS 过时了,这是什么意思?

我刚刚在维基百科上读到(基于 W3 分钟),CORS 现在已经过时了:

https://en.wikipedia.org/wiki/Cross-origin_resource_sharing

来自https://www.w3.org/2017/08/16-webappsec-minutes.html#item03的会议记录

过时的 CORS

dveditz:我在列表中提出了过时的 CORS。规范是旧的,并没有反映浏览器的实际操作

抄写员......正在进行的工作在Fetch中

UNKNOWN_SPEAKER:所以让 CORS闲置是没有用的
......标记为过时并指向替换
......更好地为实现者服务
......唯一的回复是mnot询问开发人员的CORS
......我想得到Brad的反馈
……我会就这个电话呼吁达成共识,然后在名单上公布

dveditz:对过时 CORS 有任何反对意见吗?

terri:对我来说听起来很合理

提议:过时的 CORS

解决方案:过时的 CORS

dveditz:我会在名单上宣布这个决定

这怎么可能,是什么让 CORS 过时了?

w3c specifications http cors

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

TypeError:req.next不是函数

在节点中收到此错误,我认为这是由于与我的中间件之一有关,但是它指向的代码行是在res.render()调用中的用户控制器。

我找不到任何人在网上撰写有关此错误的文章,并且在看了一段时间的代码后也找不到原因。有任何想法吗?

在此处输入图片说明

middleware node.js express

4
推荐指数
2
解决办法
6799
查看次数

在NodeJS中使用promise时,没有运行Console.log

这真让我抓狂.我有下面的代码,当我运行它时,我只有debug-1打印.如果我注释掉我得到的声明debug-1debug-2打印出来.

        console.log( 'debug-1' )
        var where = {
            compound_id: study.compound_id,
            species: {
                "like": ( species + "*" )
            },
            study_start: {
                "<=": study.study_start
            },
            study_start: {
                ">=": threeYearsBeforeStudy
            }
        }
        console.log( 'debug-2' )
Run Code Online (Sandbox Code Playgroud)

超级奇特.我在承诺中有这个块,但我确信这不应该是一个问题.

javascript node.js

3
推荐指数
1
解决办法
1730
查看次数

如何将变量值与Javascript中的值数组进行匹配?

我有一个名称数组:

names = ['Jim', 'Jack', 'Fred']
Run Code Online (Sandbox Code Playgroud)

我还从函数中收到了一个值,这是一个字符串形式的名称,例如:

returnedValue = 'Jim'
Run Code Online (Sandbox Code Playgroud)

如何针对names数组的值运行returnedValue字符串并测试匹配?

我的感觉是你想要使用数组原型的.filter方法,但我无法想象如何这样做.

javascript arrays match

2
推荐指数
1
解决办法
7783
查看次数

如何将猫鼬值存储为日期?

每当我在Mongoose中保存日期时,它都会以字符串形式结束。

    let newDate = new Date().toISOString();

    let thing = await Thing.findOne({});

    things.details.expirationDate = newDate;

    await thing.save();
Run Code Online (Sandbox Code Playgroud)

我可以确认在数据库中将其识别为字符串而不是日期对象。

如何将此值保存在日期对象上?thing.details是混合模式类型。

javascript mongoose mongodb node.js

2
推荐指数
1
解决办法
7064
查看次数

Python赋值破坏

如何在 Python 中进行 ES6 类型的对象解构?

dictionary = {}

dictionary['a'] = 'hello'
dictionary['b'] = 'goodbye'

print dictionary

a, b = [dictionary]

print a, b
Run Code Online (Sandbox Code Playgroud)

我怎样才能打印出来hello goodbye

python

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

防止使用 Javascript (JQuery) 更改文件输入

如果我有条件地告诉用户文件太大,我试图防止文件输入被更改,但即使捕获更改并防止默认,它仍然被填充,即:

  // CHECK FILE ISNT ABOVE 500MB ON CHANGE
      $(".upload-file").change(function (e) {

        // conditional checks
        var fileSize = $('.upload-file').get(0).files[0].size; // in bytes

        if (fileSize > 500000000) {
          e.preventDefault();
          swal('File size is more than 500 MB, please upload a smaller file. Support for larger files will be rolled out soon.');
          return false;
        }

  

      });
Run Code Online (Sandbox Code Playgroud)

这是我的代码,我做错了什么?

html javascript jquery input

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

使用 Javascript 关闭不同的浏览器选项卡

是否可以使用 Javascript 关闭另一个 HTML 页面中与活动浏览器选项卡不同的浏览器选项卡?

我问这个问题是因为我正在浏览器中构建一个虚拟助手。该助手将打开新选项卡,此时当前选项卡将类似于 Google 搜索。如果我可以要求虚拟助手关闭当前选项卡,我将返回到虚拟助手浏览器窗口。

html javascript jquery

0
推荐指数
1
解决办法
6018
查看次数

数字加上一个数字是Javascript中的NaN

我很生气这是多么愚蠢.这怎么可能?

  console.log(typeof form.timeCompletedInSeconds);
  console.log(typeof totalTimeCompletion);

  console.log(totalTimeCompletion);
  console.log(form.timeCompletedInSeconds);

  totalTimeCompletion = form.timeCompletedInSecond + totalTimeCompletion;
  console.log(totalTimeCompletion)
Run Code Online (Sandbox Code Playgroud)

输出:

number
number
0
3
NaN
Run Code Online (Sandbox Code Playgroud)

javascript

0
推荐指数
1
解决办法
70
查看次数