在ping请求时如何在JS上禁用“欺骗性网站”?

时间:2019-02-15 12:30:03

标签: javascript google-chrome security ping url-validation

当我尝试将PING请求发送到被chrome标记为DANGEROUS的网站时,我的JS代码中出现了有趣的行为:

我尝试在网址URL reddit.com的输入字段中输入内容,我的js从开始检查所有组合:

1)  r - (1) invalid url
2)  re - (1) invalid url
3)  red - (1) invalid url
4)  redd - (1) invalid url
5)  reddi - (1) invalid url
6)  reddit - (1) invalid url
7)  reddit. - (1) invalid url
8)  reddit.c - (1) invalid url
9)  reddit.co - (1) url valid, (2) check is url exists
10) reddit.com - this step can't be reached because big full-screen error from previous step

在第8步中一切正常 enter image description here

在第9步中,我遇到了一个大的全屏错误:欺骗性网站... enter image description here

如何处理此行为,并让用户选择(如果他确实想要的话)。

创建PING的我的JS代码

export function fetch_with_timeout(url, options, timeout = 7000) {
   return Promise.race([
      fetch(url, options),
      new Promise((_, reject) => setTimeout(() => reject(new Error('timeout')), timeout)),
   ]);
}

1 个答案:

答案 0 :(得分:0)

因此,我看到的唯一解决方案是向实际执行ping并以Web资源可用性响应的服务器发出ping请求。

请求

{ "url": "reddit.co" }

回复

{ "url": "reddit.co", "available": true }