我使用Fetch API来获取URL的内容.对于我的内部开发,我试图连接到开发服务器,我收到一个错误.
此服务器的证书无效.您可能连接到假装为"xxx.com"的服务器,这可能会使您的机密信息面临风险.
如何为内部用途禁用SSL /证书检查?或者我有一个xxx.crt文件,如何安装或传递它以获得成功响应.
我知道在过去,自定义标题名称使用前缀"X-"是标准的(我知道它不再被认为是标准的),但我一直无法找到是否有任何标题此命名约定与值之间的关系("application/x-www-form-urlencoded").它是作为后来采用的自定义内容类型值开始的吗?
我在这里找到了这个链接,这当然很有趣,但一直无法找到我的问题的答案.
有人知道这个前缀被选中的原因,以及它的含义是什么?
我有这个非常常见的问题,它说方法不允许(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()所有原始标头和方法,这也不起作用.
<input type="date" max="1995-12-31" class="form-control" id="dob"/>
Run Code Online (Sandbox Code Playgroud)
当我尝试使用W3C验证时,我收到了此行的错误:
并非所有浏览器都支持日期输入类型.请务必进行测试,并考虑使用polyfill.
怎么解决?
我有一个使用 javascript 调用 HTTP 请求的浏览器书签。它适用于我尝试过的每个网站,除了 Facebook。Facebook 有某种内容安全策略,只允许窗口从自己的域中获取资源。Chrome 检查器中的错误说:
Refused to connect to 'http://my.website.com:4447/yurl/stash?rootId=45¶m1=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 一样。
有没有办法禁用此策略?
我在使用 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) 我有一个简单的 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 访问它们时,之前工作的所有函数都开始使用此 …
我有一个可供客户在 Intranet 中使用的 Web 应用程序。它使用需要安全上下文的功能,例如getUserMedia. 如今,最佳实践是什么?
客户的技术知识很少,而且应用程序可能只是路过的人使用的,所以在浏览器上创建和安装证书颁发机构太麻烦了。尽管在安装过程中要求互联网连接是可以接受的,但不能保证始终有互联网连接。TLS 证书的警告消息是可以接受的(不理想,但可以解释),但自签名证书不能解决问题,因为它们仍然被认为是不安全的上下文。我无法控制 Intranet,并且运行该服务的设备只能通过 IP 访问,无需主机名或本地 DNS 服务器。
有哪些替代方案可以获得尽可能无摩擦的安全环境?
我想调试 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 警告并根据请求进行阻止。
我正在为使用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 ×5
node.js ×2
security ×2
asp.net ×1
browser ×1
certificate ×1
chromium ×1
cors ×1
facebook ×1
fetch-api ×1
firebase ×1
html5 ×1
http ×1
http-headers ×1
jestjs ×1
mime-types ×1
performance ×1
socket.io ×1
ssl ×1
w3c ×1