小编sid*_*ker的帖子

Google Cloud Platform存储错误:尝试访问我的存储项目时出现“锁定域已过期”

我目前在Google Cloud Platform存储桶中为我的网站托管一些静态.css,.js,.tff和图像资源。上传资源后,我最多可以访问这些资源约20分钟。大约20分钟后,当我尝试访问它们时收到401错误消息,内容为:

{“错误”:{“错误”:[{“域”:“全局”,“原因”:“ lockedDomainExpired”,“消息”:“锁定域已过期”}],“代码”:401,“消息”: “锁定域已过期”}}

从GCP网站:

LockedDomainExpired:例如,使用存储浏览器从经过cookie验证的站点下载内容时,响应将重定向到一个临时域。如果在域到期后发生对所述域的访问,则会发生此错误。再次发出原始请求,并接收新的重定向。

我不确定在尝试使用GCP存储桶的情况下这意味着什么?任何帮助或资源将不胜感激。

google-app-engine cdn google-cloud-storage google-cloud-platform

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

REST:根据RFC 2616 HTTP/1.1规范的正确响应状态?

我已经浏览了RFC-2616上的HTTP/1.1协议规范,并且我试图了解在调用特定REST方法时应该返回哪个状态代码.至于我研究了协议(链接),我试图将REST方法解析为正确的状态代码:

  • 得到
    • 如果找到至少一个资源,则返回200(ok).
    • 如果没有找到任何东西(即返回空列表),我应该返回204(未找到)吗?
  • 放
  • POST
    • 如果新的资源已添加到orign,则返回与PUT方法相同的201(已创建)的差异
    • 基于通用建议,POST可用于创建新的资源,PUT用于修改现有资源.如果我决定遵循这个建议,那么在尝试修改现有资源时我应该返回什么.POST api/v1/person/1?
  • 补丁
    • 像PUT方法一样,差异并不像PUT那样取代整个资源,但它部分地修改了资源
    • 在W3协议RFC-2616中没有关于PATCH REST方法的说法,是否应该像PUT那样对待它?
  • 删除
    • 如果资源被删除则返回200(ok),如果没有要删除的资源(未找到id ),则返回[204(未找到)].在REST实施的情况下,它是否复制GET响应原则?

我的"表"是否正确(特别是带引号的语句??是正确的,只有GET应该在正文中返回请求本身,其余的方法只是一个URI链接到修改后的资源(新添加,修改..)包括在标题?

我的理解是否正确,是否存在另一个正式描述REST方法的来源,建议(或者我们"有义务")遵循这些来源?我对各种各样的来源非常困惑,这给了我对每个方法以及这个非常详细的RFC-2616协议的不同答案.

最好的是存在一个表格,简要而清楚地描述所有这5种方法,其中包括返回状态,正文内容和标题的可能性.

rest http rfc http-status-codes http-1.1

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

科尔多瓦:内容安全政策指令:“ media-src *”

这是我的meta标签:

<meta http-equiv="Content-Security-Policy" content="default-src * 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src http://* 'self' 'unsafe-inline'; media-src *">
Run Code Online (Sandbox Code Playgroud)

我正在使用此元标记在端口上调用服务器的socket.io.js文件,例如:

<script src="https://example.co:3344/socket.io/socket.io.js"></script>
Run Code Online (Sandbox Code Playgroud)

这是针对WebRTC(rtcmulticonnection)的,因此我的流事件已触发,流创建了媒体:

rtcMultiConnection.onstream = function(event) {
    if (event.stream.getVideoTracks().length) {
        $('.users-container').append(event.mediaElement);
    }
}
Run Code Online (Sandbox Code Playgroud)

并发生错误:

拒绝从“ blob:http:// localhost:8000 / 74677955-8811-43d0-bf30-2362208364d7 ” 加载媒体,因为它违反了以下内容安全策略指令:“ media-src *”。

它适用于Mozilla Firefox,但不适用于Android,Chrome浏览器和IOS。

编辑

AndroidManifest权限:

<uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.MICROPHONE" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
Run Code Online (Sandbox Code Playgroud)

我看不到android错误。

cordova content-security-policy

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

从 React 获取 API 向我发送错误的 URL

学习 React.js 和 Node.js,并使用后端的 Express API 和前端的 React.js 制作一个简单的 CRUD 应用程序。我的 React.js 的 App.js 看起来像这样。

    `import React, { Component } from 'react';
     import './App.css';
     import Rentals from './components/Rentals';
     import Idpage from './components/Idpage';

     import {
      BrowserRouter as Router,
      Route,
      Link
     } from 'react-router-dom';

   class App extends Component {

   render() {
    return (
    <div className="mainappdiv">
     <Router>
          <main>
            <Route exact path="/" component={Home} />
            <Route exact path="/rentals" component={Rentals} />
            <Route path="/rentals/:propertyid" component={Idpage} />
          </main>             
        </div>           
    </Router>
  </div>
      );
     }}

 export default App;
Run Code Online (Sandbox Code Playgroud)

我正在制作一个应用程序,当您访问 /rentals …

api node.js reactjs fetch-api

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

如何在浏览器(Chrome、Opera、FF)中启用混合内容(不安全模式)以在 Mac OS 上进行本地开发?

我只是尝试了几乎所有已知的方法来在浏览器中启用混合内容。在 Mac 上没有任何效果。此链接提供了一些对我不起作用的解决方案。

我也试过open -a Google\ Chrome --args --disable-web-security --allow-running-insecure-content没有积极的结果。你有什么想法如何让它在 Mac 上工作吗?

macos firefox google-chrome

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

使用 Fetch API 和 cross-fetch polyfill 在文件输入更改时上传文件

我将 Fetch API 与 cross-fetch polyfill https://www.npmjs.com/package/cross-fetch 一起使用

已经在 SO 上放屁了几个小时,试图让文件上传工作使用它。无论我做什么,我似乎都无法避免“不受支持的 BodyInit 类型”错误。

<input
    name="file"
    type="file"
    onChange={event => {
      event.preventDefault();
      var f = event.target.files[0];
      var data = new FormData();
      data.append("file", f);

      fetch("/my-api", {
        method: "POST",
        body: data
      });
    }}
  />
Run Code Online (Sandbox Code Playgroud)

这是一个可运行的示例:https : //codesandbox.io/s/v08lpj24wy

当然,我不会直接在 onChange 处理程序中执行此类操作,但该示例说明了错误。我究竟做错了什么?

reactjs redux fetch-api react-redux

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

ServiceWorker在Chrome中进行硬重载(Ctrl-Shift-R)失败

为什么服务工作者在硬重载(Ctrl-Shift-R)后失败?

----案例1 CHROME ---成功

  1. 卸载服务工作者
  2. 加载页面
  3. 页面安装服务工作者
  4. Worker.postMessage()成功
  5. 重新加载页面
  6. Worker.postMessage()成功

----案例2 CHROME ---失败

  1. 卸载服务工作者
  2. 加载页面
  3. 页面安装服务工作者
  4. Worker.postMessage()成功
  5. HARD RELOAD(ctrl-shift-R)页面(serviceworker仍按照chrome:// serviceworker-internals /运行)
  6. Worker.postMessage()失败 - 'error sendingTypeError:无法读取属性'postMessage'null'

service-worker

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

HTTP 状态代码 500、.net core CORS 和 HttpClient 错误

我在 dotnet core 中遇到了一些有关 CORS/HttpClient 的问题。首先,我的应用程序的结构如下:

Webapp -> Microservice-Gateway -> multiple Microservices
Run Code Online (Sandbox Code Playgroud)

如果我从我的 Web 应用程序进行 Ajax 调用

$.ajax({
        url: "https://[actual gateway Url]/customer/" + customerId,
        type: "GET",
        timeout: 60000,
        crossDomain: true,
        dataType: "json",
        success: data => {
            //...
        }
    });
Run Code Online (Sandbox Code Playgroud)

到网关服务器时,我有时会收到以下错误消息:

请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问来源“ http://localhost:50595 ”。响应的 HTTP 状态代码为 500。

然而,如果我调试,我的网关在内部会抛出此错误:

System.Net.Http.HttpRequestException:发送请求时发生错误。---> System.Net.Http.WinHttpException:操作超时

我尝试通过在网关和每个微服务中添加以下代码来解决第一个错误:

public void ConfigureServices(IServiceCollection services) {
        var corsBuilder = new CorsPolicyBuilder();
        corsBuilder.AllowAnyHeader();
        corsBuilder.AllowAnyMethod();
        corsBuilder.AllowAnyOrigin();
        corsBuilder.AllowCredentials();

        services.AddCors(options => {
            options.AddPolicy("SiteCorsPolicy", corsBuilder.Build());
        });
 //..
 }
 public void Configure(IApplicationBuilder app, IHostingEnvironment env) { …
Run Code Online (Sandbox Code Playgroud)

c# ajax httpclient asp.net-core

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

Vuetify - 当模型更改时,如何使 setSelectionRange(int, int) 在 v-textarea 中工作

我尝试使用该方法setSelectionRange来更改 vuetify 中光标的位置v-textarea。

当我不操作v-model文本区域的属性引用的数据元素时,它效果很好。但是,如果我尝试先改变身体,然后再应用setSelectionRange方法;光标直接移动到文本末尾。

我附上了简化版本的片段。一旦您在文本区域中的任意位置按下退格键,光标就会移动到索引 2;但它会移动到文本的末尾。

然而,如果您再次删除this.body并退格,它就会平静地移动到索引 2。

new Vue({
  el: '#app',
  data: {
    body: ''
  },
  created () {
    this.body = 'I am initial body. Hit backspace on somewhere if you want!'
  },
  methods: {
    onBackspaceOrDeleteButtonKeydown (event) {
      // disable default behavior
      event.preventDefault()
      
      let bodyTextArea = this.$refs.pourBody.$el.querySelector('textarea')
      
      // COMMENT OUT THE NEXT LINE TO SEE THE CURSOR MOVES TO INDEX 2 ALWAYS
      this.body = 'I am changed …
Run Code Online (Sandbox Code Playgroud)

javascript textarea selection vue.js vuetify.js

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

内容安全策略指令:“框架祖先”缺失但存在?

我正在开发一个nodejs电子应用程序,在我的index.html中我有一个“内容安全策略”,如下所示

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Security-Policy"
      content="
      default-src     'self' https://*.mydomain.tld;
      script-src      'self' https://*.mydomain.tld;
      style-src       'self' https://*.mydomain.tld;
      img-src         'self' https://*.mydomain.tld;
      font-src        'self' https://*.mydomain.tld;
      connect-src     'self' https://*.mydomain.tld;
      media-src       'self' https://*.mydomain.tld;
      object-src      'self' https://*.mydomain.tld;
      child-src       'self' https://*.mydomain.tld;
      frame-ancestors 'self' https://*.mydomain.tld;
      frame-src       'self' https://*.mydomain.tld;
      worker-src      'self' https://*.mydomain.tld;
      form-action     'self' https://*.mydomain.tld;
      block-all-mixed-content;
      ">
Run Code Online (Sandbox Code Playgroud)

当我运行该应用程序时,它工作得很好,所有资源都加载得很好,但在控制台中我收到以下错误

通过元素传递的内容安全策略可能不包含frame-ancestors指令。索引.html: 4

我一直在尝试消除该错误并寻找可能导致该错误的原因,但找不到任何东西,对我来说一切似乎都是正确的,但我仍然收到错误,我还认为该错误可能是由服务器 @https 引起的://*.mydomain.tld 所以我尝试了这个

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Security-Policy"
      content="
      default-src     'self';
      script-src      'self';
      style-src       'self';
      img-src         'self';
      font-src        'self';
      connect-src     'self';
      media-src       'self';
      object-src      'self';
      child-src …
Run Code Online (Sandbox Code Playgroud)

content-security-policy

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