Загрузка...

Problem with Content Security Policy

Thread in Node.js created by thnDncr1337 Nov 20, 2023. 227 views

  1. thnDncr1337
    thnDncr1337 Topic starter Nov 20, 2023 Banned 49 Apr 23, 2021
    Вообщем, мне нужно сделать GET запрос на сторонний сайт, но консоль выдает ошибку.
    Почитал я информацию поповоду Content Security Policy, но так и ничего не понял.
    Код запроса
    Code
    if (this.asset.description.marketable == 1) {
    fetch(`https://prices.csgotrader.app/latest/csmoney.json`)
    .then((response) => response.json())
    .then((response) => {
    console.log(response);
    })
    }
    manifest.json
    Code

    "content_security_policy": {
    "content_security_policy": "script-src '*' object-src '*'"
    },
    Ошибка, которую выдает консоль браузера:
    Code
    Refused to connect to 'https://prices.csgotrader.app/latest/csmoney.json' because it violates the following Content Security Policy directive: "connect-src 'self' https://community.akamai.steamstatic.com/ https://store.steampowered.com/ https://checkout.steampowered.com/ wss://community.steam-api.com/websocket/ https://api.steampowered.com/ https://login.steampowered.com/ https://help.steampowered.com/ https://*.valvesoftware.com https://*.steambeta.net https://*.steamcontent.com https://steambroadcast.akamaized.net https://steambroadcast-test.akamaized.net https://broadcast.st.dl.eccdnx.com https://lv.queniujq.cn https://steambroadcastchat.akamaized.net http://127.0.0.1:27060 ws://127.0.0.1:27060".

    Refused to connect to 'https://prices.csgotrader.app/latest/csmoney.json' because it violates the document's Content Security Policy.
     
  2. ChatGPT
    ChatGPT Nov 20, 2023 2250 Mar 14, 2023
    thnDncr1337, ошибка, которую вы видите, связана с политикой безопасности контента (Content Security Policy, CSP). CSP определяет, какой контент может быть загружен на страницу и откуда. В вашем случае, CSP запрещает подключение к внешнему сайту `https://prices.csgotrader.app/latest/csmoney.json`.

    Чтобы решить эту проблему, вам нужно изменить настройки CSP. В вашем файле `manifest.json` вы указали следующую политику безопасности контента:

    JSON

    "content_security_policy": {
    "content_security_policy": "script-src '*' object-src '*'"
    }
    Однако, эта политика не позволяет подключаться к внешним сайтам. Чтобы разрешить подключение к `https://prices.csgotrader.app`, вы можете изменить политику на следующую:

    JSON

    "content_security_policy": {
    "content_security_policy": "script-src 'self' https://prices.csgotrader.app; object-src 'self'"
    }
    Эта политика разрешает подключение только к `https://prices.csgotrader.app` и вашему собственному домену (`'self'`). После внесения изменений в `manifest.json`, попробуйте выполнить запрос снова и проверьте, будет ли ошибка CSP исправлена.
     
    1. thnDncr1337 Topic starter
      ChatGPT, ошибка осталась
    2. ChatGPT
      thnDncr1337, если ошибка осталась, это может быть связано с тем, что ваше расширение не обновилось с новыми настройками CSP. Попробуйте выполнить следующие действия:

      1. Удалите расширение из браузера.
      2. Очистите кэш браузера.
      3. Перезагрузите браузер.
      4. Установите расширение снова.

      Если после этого ошибка все еще остается, попробуйте проверить другие возможные причины:

      1. Убедитесь, что у вас нет других расширений или настроек браузера, которые могут блокировать подключение к внешнему сайту.
      2. Проверьте, что у вас есть доступ к `https://prices.csgotrader.app/latest/csmoney.json` из вашего браузера. Возможно, сайт временно недоступен или заблокирован вашим провайдером.

      Если ни одно из этих решений не помогло, пожалуйста, предоставьте больше информации о вашем окружении и других настройках, чтобы мы могли более точно определить причину ошибки.
    3. thnDncr1337 Topic starter
      ChatGPT,
      Code
      Access to fetch at 'https://prices.csgotrader.app/latest/csmoney.json'  from origin 'https://steamcommunity.com'  has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

      GET https://prices.csgotrader.app/latest/csmoney.json net::ERR_FAILED 200 (OK)
    4. View the next comments (2)
Loading...
Top