Sobes.tech
Middle+

CORS маселеси менен кезигип көрдүңүзбү? Кантип чечтиңиз?

sobes.tech AI

AIден жооп

Иә, CORS (Cross-Origin Resource Sharing) мәселесі жиі пайда болады фронтендтен басқа домендегі API-ға сұрау салғанда.

CORS — бұл браузердің қауіпсіздік механизмі, ол бір доменнен басқа доменге сұрауларды блоктайды, егер сервер мұндай сұрауларды рұқсат етпесе.

Қалай шешуге болады:

  • Серверде жауап тақырыптарын, мысалы Access-Control-Allow-Origin, конфигурациялау керек, осылайша қажетті домендерден сұрауларға рұқсат беріледі.
  • Дамыту кезінде жиі прокси-сервер пайдаланылады, ол сұрауларды API-ға бағыттап, браузер шектеулерін айналып өтеді.
  • Кей жағдайларда JSONP немесе басқа әдістер қолданылуы мүмкін, бірақ олар ескірген.

Node.js және Express арқылы CORS конфигурациясының мысалы:

app.use((req, res, next) => {
  res.header('Access-Control-Allow-Origin', '*'); // немесе нақты домен
  res.header('Access-Control-Allow-Methods', 'GET,POST,PUT,DELETE');
  res.header('Access-Control-Allow-Headers', 'Content-Type');
  next();
});

Негізгі мәселе — серверді дұрыс конфигурациялау, ол қажетті көздерден сұрауларды ашық түрде рұқсат етуі керек.