Supporto della condivisione delle risorse tra origini incrociate (CORS)

Tradotto automaticamente da Deepl

Avete mai creato una richiesta di dati HTTP per poi essere colpiti da un errore rosso “l’accesso alla richiesta HTML è stato bloccato dalla politica cors” ?

Quando il vostro sito si trova sullo stesso dominio del server del servizio web, non c’è alcun problema. Tuttavia, questo non è il caso quando si esegue una richiesta di origine incrociata. L’accesso viene negato a causa della sicurezza del browser che impedisce le richieste HTTP a un altro dominio. Il risultato? Un errore di politica CORS.

Per consentire esplicitamente alcune richieste di origine incrociata sul server, 4D supporta ora il protocollo CORS. L’accesso ai dati con richieste di origine incrociata è appena diventato più facile!

Il protocollo CORS impedisce alle pagine web di effettuare richieste a domini diversi dal proprio. Tuttavia, a volte è necessario consentire ad altri siti di effettuare richieste di dati HTTP al vostro server. Fortunatamente, 4D offre due modi per definire le regole CORS e consentire esplicitamente alcune richieste di origine incrociata:

  • attraverso la programmazione, oppure
  • attraverso le impostazioni del database.

gestire i cors tramite programmazione

È possibile attivare CORS con due comandi:

//CORS Domains Settings
$settings

:=New collection
$settings .push(New object("host"; "127.0.0.1:8888"; "methods"; "get;put;post"))
$settings .push(New object("host"; "https://blog.4d.com/"; "methods"; "get;post"))

//enable CORS
WEB SET OPTION (Web CORS enabled;1)

//CORS Domains Settings WEB SET OPTION (Web CORS settings;$settings)

//start web server to apply CORS settings
WEB START SERVER

$hostWS$setting:=WEB Server(Web host database server)
$setting :=New object

//Enable CORS
$setting .CORSEnabled:=True

//CORS Domains Settings
$setting .CORSSettings:=New collection
$setting .CORSSettings.push(New object("host"; "127.0.0.1:8888"; "methods"; "get;put;post"))
$setting .CORSSettings.push(New object("host"; "https://blog.4d.com/"; "methods"; "get;post")

//start web server and apply CORS settings
$hostWS.start( xml-ph-0

gestire CORS attraverso le impostazioni del database

Le nuove impostazioni sono disponibili nella scheda Impostazioni > Web > Opzioni (II):

È sufficiente aggiungere i nomi di dominio consentiti e i metodi disponibili. Al successivo avvio del server, verranno utilizzati automaticamente.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené si è unito al team di 4D Program nel novembre 2016. In qualità di Product Owner, è incaricato di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente.Dopo aver conseguito una laurea in Informatica presso il CNAM, Fabrice è entrato a far parte di una piccola società di pubblicazione di software come sviluppatore Windev. In seguito ha lavorato per diverse aziende del settore industriale e commerciale come sviluppatore Windev e web e come consulente tecnico su nuove funzionalità.