小编sid*_*ker的帖子

JS Fetch API禁用SSL证书

我使用Fetch API来获取URL的内容.对于我的内部开发,我试图连接到开发服务器,我收到一个错误.

此服务器的证书无效.您可能连接到假装为"xxx.com"的服务器,这可能会使您的机密信息面临风险.

如何为内部用途禁用SSL /证书检查?或者我有一个xxx.crt文件,如何安装或传递它以获得成功响应.

javascript certificate fetch-api

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

为什么'x-www-form-urlencoded'以'x-www'开头,当其他标准内容类型没有?

我知道在过去,自定义标题名称使用前缀"X-"是标准的(我知道它不再被认为是标准的),但我一直无法找到是否有任何标题此命名约定与值之间的关系("application/x-www-form-urlencoded").它是作为后来采用的自定义内容类型值开始的吗?

我在这里找到了这个链接,这当然很有趣,但一直无法找到我的问题的答案.

有人知道这个前缀被选中的原因,以及它的含义是什么?

w3c specifications http http-headers mime-types

7
推荐指数
2
解决办法
2195
查看次数

asp.net web api控制器中不允许405个方法选项?

我有这个非常常见的问题,它说方法不允许(OPTIONS)GET请求.每当我进行API调用时,我都会收到以下错误.我有这样的设置web.config:

<system.webServer>
  <modules>
    <remove name="WebDAVModule"/>
  </modules>
  <httpProtocol>
    <customHeaders>
      <add name="Access-Control-Allow-Origin" value="*"/>
      <add name="Access-Control-Allow-Headers" value="Origin, Authorization, X-Requested-With, Content-Type, Accept"/>
      <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS"/>
    </customHeaders>
  </httpProtocol>
  <handlers>
    <remove name="WebDAV"/>
    <remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
    <remove name="OPTIONSVerbHandler"/>
    <remove name="TRACEVerbHandler"/>
    <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
  </handlers>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

我尝试使用Asp.Net.WebApi.Cors并强制执行CORS全局使用EnableCors()所有原始标头和方法,这也不起作用.

asp.net cors asp.net-mvc-4 asp.net-web-api

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

输入类型=日期的W3C验证错误

<input type="date" max="1995-12-31" class="form-control" id="dob"/>
Run Code Online (Sandbox Code Playgroud)

当我尝试使用W3C验证时,我收到了此行的错误:

并非所有浏览器都支持日期输入类型.请务必进行测试,并考虑使用polyfill.

怎么解决?

html5 w3c-validation

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

您可以禁用 Web 文档的内容安全策略吗?(连接源代码)

我有一个使用 javascript 调用 HTTP 请求的浏览器书签。它适用于我尝试过的每个网站,除了 Facebook。Facebook 有某种内容安全策略,只允许窗口从自己的域中获取资源。Chrome 检查器中的错误说:

Refused to connect to 'http://my.website.com:4447/yurl/stash?rootId=45&param1=http%3A%2F%2Fwww.facebook.com%2Fhemal.narayan' because it violates the following Content Security Policy directive: "connect-src https://*.facebook.com http://*.facebook.com https://*.fbcdn.net http://*.fbcdn.net *.facebook.net *.spotilocal.com:* https://*.akamaihd.net ws://*.facebook.com:* http://*.akamaihd.net https://fb.scanandcleanlocal.com:* *.atlassolutions.com http://attachment.fbsbx.com https://attachment.fbsbx.com".
Run Code Online (Sandbox Code Playgroud)

因为我不能对远程网站做任何恶意的事情,所以我希望有一种方法可以让客户自行决定禁用它,就像 CORS 一样。

有没有办法禁用此策略?

javascript browser security facebook

6
推荐指数
0
解决办法
370
查看次数

带有 socket.io 的 CORS

我在使用 express.io 的 node.js 应用程序上遇到 CORS 问题。我正在远程托管 socket.io 客户端 js,因为它需要作为远程应用程序工作。

<script src="resources/js/socket.io.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

它托管在 OpenShift 上

服务器.js:

var ipaddr = process.env.OPENSHIFT_NODEJS_IP || "localhost";
var port = process.env.OPENSHIFT_NODEJS_PORT || 8080;
var express = require('express.io');
// magical express.io
var app = express();

// Enables CORS
var enableCORS = function(req, res, next) {
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
    res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With, *');

        // intercept OPTIONS method
    if ('OPTIONS' == req.method) {
        res.send(200);
    } else {
        next();
    };
};

app.configure(function() {
    // enable CORS! …
Run Code Online (Sandbox Code Playgroud)

javascript node.js socket.io

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

Firebase 函数意外重定向到accounts.google.com

我有一个简单的 Firebase 函数,如下所示。当通过 javascript (CORS) 访问时,该函数的飞行前选项的请求(CORS 标准的一部分)将返回 302 重定向到以以下内容开头的 url

https://accounts.google.com/ServiceLogin?service=ah&passive=true&continue=https://appengine.google.com/_ah/conflogin%3Fcontinue%3D

并以我的函数的 URL 结尾。这是有问题的整个函数:

import * as functions from 'firebase-functions';
import * as express from 'express';
import * as cors from 'cors';

const app = express();

app.use(cors({ origin: true }));

app.post('*', async (req, res) => {
  res.setHeader('X-Test', 'OK');
  res.setHeader('Set-Cookie', ['__session=ninja']);
  res.send('OK');
});

app.get('*', async (req, res) => {
  res.setHeader('X-Test', 'OK');
  res.setHeader('Set-Cookie', ['__session=ninja']);
  res.send('OK');
});

export const testing = functions.https.onRequest(app);
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,该函数不包含任何重定向逻辑。如果我手动导航到浏览器(第一个)中的重定向链接accounts.google.com,它会显示某种 Google Compute Engine 安全页面,要求访问我的 Google 帐户。最近,当我通过 javascript 访问它们时,之前工作的所有函数都开始使用此 …

javascript firebase google-cloud-functions

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

如何处理需要 Intranet 中安全上下文的 Web 应用程序?

我有一个可供客户在 Intranet 中使用的 Web 应用程序。它使用需要安全上下文的功能,例如getUserMedia. 如今,最佳实践是什么?

客户的技术知识很少,而且应用程序可能只是路过的人使用的,所以在浏览器上创建和安装证书颁发机构太麻烦了。尽管在安装过程中要求互联网连接是可以接受的,但不能保证始终有互联网连接。TLS 证书的警告消息是可以接受的(不理想,但可以解释),但自签名证书不能解决问题,因为它们仍然被认为是不安全的上下文。我无法控制 Intranet,并且运行该服务的设备只能通过 IP 访问,无需主机名或本地 DNS 服务器。

有哪些替代方案可以获得尽可能无摩擦的安全环境?

security ssl web-applications secure-context

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

如何在 Chrome 74+ 中禁用 CORB

我想调试 Chrome 74 中可能由 CORB 引起的本地开发环境问题。我想看看当我关闭 CORB 时问题是否会消失。

据谷歌开发者文档称

您可以通过使用以下命令行标志启动 Chrome 来暂时禁用 CORB,以确认问题是否由 CORB 引起: --disable-features=CrossSiteDocumentBlockingAlways,CrossSiteDocumentBlockingIfIsolating

但是,如果我跑

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-features=CrossSiteDocumentBlockingAlways,CrossSiteDocumentBlockingIfIsolating --user-data-dir="C:/ChromeDevSession"
Run Code Online (Sandbox Code Playgroud)

Chrome 仍然显示 CORB 警告并根据请求进行阻止。

google-chrome chromium cross-origin-read-blocking

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

jestjs 如何测试使用 Performance.now() 的函数?

我正在为使用performance.now(). 但这似乎不起作用。

perf-hooks有没有办法从全球范围内使用jest.config.js?performance或者用例如来模拟和覆盖它的方法Date?

我尝试过使用classToTest.jswith来覆盖性能Date,但是因为它performance已经在导入时使用了,所以不起作用。

简化示例:

classToTest.test.js

import ClassToTest from "./classToTest";

test("constructor works", () => {
  expect(new ClassToTest()).not.toBeNull();
});
Run Code Online (Sandbox Code Playgroud)

类测试.js

const timer = performance.now();

class ClassToTest {
...
Run Code Online (Sandbox Code Playgroud)

jest 的输出是ReferenceError: performance is not defined.

javascript performance node.js jestjs performance.now

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