Podpora sdílení prostředků mezi původními uživateli (CORS)

Automaticky přeloženo z Deepl

Vytvořili jste někdy požadavek na data HTTP, abyste se pak setkali s červenou chybou „přístup k požadavku HTML byl zablokován zásadami cors“ ?

Pokud je váš web na stejné doméně jako server webové služby, není to žádný problém. To však neplatí v případě, že provádíte požadavek s křížovým původem. Přístup je odepřen z důvodu zabezpečení prohlížeče, které brání požadavkům HTTP na jinou doménu. Výsledek? Chyba zásad CORS.

Abyste mohli na svém serveru explicitně povolit určité požadavky cross-origin, podporuje nyní 4D protokol CORS. Přístup k datům pomocí požadavků s křížovým původem se právě stal jednodušším!

Protokol CORS zabraňuje tomu, aby webové stránky mohly zadávat požadavky do jiných domén, než je jejich vlastní. Někdy však můžete potřebovat povolit jiným stránkám, aby na váš server zadávaly požadavky na data HTTP. Naštěstí 4D poskytuje dva způsoby, jak definovat pravidla CORS a explicitně povolit určité požadavky s křížovým původem:

  • prostřednictvím programování nebo
  • prostřednictvím nastavení databáze.

správa cors prostřednictvím programování

Službu CORS můžete povolit pomocí dvou příkazů:

//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

správa CORS prostřednictvím nastavení databáze

Nová nastavení jsou k dispozici na kartě Nastavení > Web > Možnosti (II):

Stačí přidat povolené názvy domén a dostupné metody. Při příštím spuštění serveru budou použity automaticky.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se připojil k týmu 4D Program v listopadu 2016. Jako Product Owner má na starosti psaní uživatelských příběhů, které následně převádí do funkčních specifikací. Jeho úkolem je také zajistit, aby dodaná implementace funkcí splňovala potřeby zákazníků.Po získání bakalářského titulu v oboru informatiky na CNAM nastoupil Fabrice do malé softwarové vydavatelské společnosti jako vývojář Windev. Poté pracoval pro různé společnosti v oblasti průmyslu a obchodu jako vývojář aplikací Windev a webových aplikací a také jako technický poradce pro nové funkce.