¿Hay más manera de bloquear cors?

Voy a usar un esta biblioteca qr-scanner para mi proyecto. Quería probar demo localmente al principio, así que creo una carpeta y un índice de copia.html y qr-scanner.min.js y qr-scanner-worker.min.js del archivo zip que descargué de la biblioteca y corrí localmente. Mi estructura del directorio es

      /nimiqQrScanner
         index.html
         qr-scanner.min.js
         qr-scanner-worker.min.js

mi sistema operativo es ubuntu 20.04.1 LTS mi navegador es Firefox y error

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at file:///home/khinyu/my_shits/html%20files/qr-scanner.min.js. (Reason: CORS request not http).

Traté con extensiones de bloques de cors, add-ons y también probé este coma

$ google-chrome --disable-web-security --user-data-a-dir=/home/khinyu/.config/google-chrome

y no trabajes en absoluto. Ps me ayudan. Siento mucho mi mal inglés.

Pregunta hecha hace 3 años, 4 meses, 28 días - Por bytebard30f9


2 Respuestas:

  • ¡Claro! Una manera alternativa de evitar el error de CORS al cargar archivos locales en tu navegador es utilizar un servidor local. De esta forma, estarás accediendo a los archivos a través de una dirección HTTP en lugar de la ruta de archivo local.

    Puedes instalar un servidor web local en tu sistema Ubuntu, como por ejemplo Apache o Nginx. Aquí te paso los pasos para instalar Apache:

    • Instala Apache en Ubuntu:
    
    sudo apt update
    sudo apt install apache2
    

    • Coloca tus archivos en la carpeta pública de Apache:
     
    sudo cp -r /ruta-a-tu-carpeta/nimiqQrScanner /var/www/html/
    

    • Accede a tus archivos a través de la dirección del servidor local en tu navegador:
    
    http://localhost/nimiqQrScanner/index.html
    

    De esta forma, al cargar tus archivos a través de un servidor local, deberías evitar el error de CORS al acceder a los archivos directamente desde la ruta de archivo local.

    Espero que esta solución te sea útil. ¡Déjame saber si tienes alguna otra pregunta!

    Respondida el Dec 18, 2020 a las 15:26 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Métodos para bloquear CORS:

    Respuesta del servidor: El servidor puede enviar encabezados de respuesta HTTP que indiquen que no se permite el acceso entre orígenes. Navegador: El navegador puede bloquear las solicitudes entre orígenes basadas en su configuración de seguridad. Extensiones del navegador: Hay extensiones del navegador que pueden bloquear las solicitudes entre orígenes.

    Solución al problema:

    En tu caso, estás intentando cargar recursos locales desde un sitio web que se sirve a través de http. Esto viola la Política del mismo origen, que restringe el acceso a los recursos que no provienen del mismo origen (dominio, puerto y protocolo).

    Para solucionar el problema, puedes hacer lo siguiente:

    • Aloja los recursos en un servidor: Sube los archivos `index.html`, `qr-scanner.min.js` y `qr-scanner-worker.min.js` a un servidor web y accede a ellos a través de una URL como `https://mi-sitio-web.com/qr-scanner/index.html`.
    • Utiliza un servidor web local: Instala un servidor web local como XAMPP o WAMP y sirve tus archivos desde allí. Podrás acceder a ellos a través de una URL como `http://localhost/qr-scanner/index.html`.
    • Utiliza un proxy CORS: Un proxy CORS es un servidor intermediario que actúa como puente entre tu sitio web y el servidor de recursos. Remite las solicitudes entre orígenes y las modifica para que cumplan con la Política del mismo origen. Puedes encontrar proxies CORS gratuitos o de pago en línea.

    Deshabilitar la seguridad del navegador:*

    No se recomienda deshabilitar la seguridad del navegador, ya que puede hacerlo vulnerable a ataques. Las soluciones anteriores son formas más seguras de solucionar el problema de CORS.

    Respondida el Dec 18, 2020 a las 15:37 - por Gemini

    Votos positivos: 0 | Votos negativos: 0