{"id":18780,"date":"2025-04-21T11:30:16","date_gmt":"2025-04-21T08:30:16","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/"},"modified":"2025-04-21T11:30:16","modified_gmt":"2025-04-21T08:30:16","slug":"cors-hatasi-dis-apilerden-veri-cekerken-cozum","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/","title":{"rendered":"CORS Hatas\u0131: D\u0131\u015f API&#8217;lerden Veri \u00c7ekerken \u00c7\u00f6z\u00fcm"},"content":{"rendered":"<p><body><\/p>\n<p>CORS Hatas\u0131: D\u0131\u015f API&#8217;lerden Veri \u00c7ekerken \u00c7\u00f6z\u00fcm<\/p>\n<p>Merhaba! Ben Fatih Soysal ve bug\u00fcn sizlere web geli\u015ftirmede s\u0131kl\u0131kla kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z bir sorunu, <strong>CORS (Cross-Origin Resource Sharing) hatas\u0131n\u0131<\/strong> ve \u00e7\u00f6z\u00fcm y\u00f6ntemlerini detayl\u0131 bir \u015fekilde anlataca\u011f\u0131m.  D\u0131\u015far\u0131dan bir API&#8217;ye eri\u015fmeye \u00e7al\u0131\u015f\u0131rken bu hatayla s\u0131kl\u0131kla kar\u015f\u0131la\u015fabilirsiniz.  Bu hata, taray\u0131c\u0131n\u0131n g\u00fcvenlik \u00f6nlemlerinden kaynaklan\u0131r ve farkl\u0131 domainler aras\u0131nda kaynak payla\u015f\u0131m\u0131n\u0131 k\u0131s\u0131tlar.  \u00d6rne\u011fin,  fatihsoysal.com adresinden  api.example.com adresindeki bir API&#8217;ye eri\u015fmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda bu hata ortaya \u00e7\u0131kabilir.<\/p>\n<h2>CORS Hatas\u0131n\u0131n Nedenleri<\/h2>\n<p>CORS hatas\u0131, g\u00fcvenlik nedeniyle ortaya \u00e7\u0131kar.  Taray\u0131c\u0131lar, k\u00f6t\u00fc niyetli bir web sitesinin ba\u015fka bir web sitesinin verilerine izinsiz eri\u015fmesini engellemek i\u00e7in bu mekanizmay\u0131 kullan\u0131r.  Bu sayede,  bir web sitesi, kullan\u0131c\u0131 izni olmadan ba\u015fka bir sitenin verilerini ele ge\u00e7iremez.  Bu durum, kullan\u0131c\u0131lar\u0131n verilerini korumak i\u00e7in \u00f6nemlidir.  Ancak,  me\u015fru bir API iste\u011fi yaparken de bu hatayla kar\u015f\u0131la\u015fabilirsiniz.<\/p>\n<h2>CORS Hatas\u0131n\u0131n Belirtileri<\/h2>\n<p>CORS hatas\u0131 genellikle taray\u0131c\u0131n\u0131n konsolunda bir hata mesaj\u0131 olarak g\u00f6r\u00fcn\u00fcr. Bu mesaj, genellikle &#8220;Access to XMLHttpRequest at &#8216;API URL&#8217; from origin &#8216;YOUR_ORIGIN&#8217; has been blocked by CORS policy&#8221; \u015feklindedir.  Bu mesaj, taray\u0131c\u0131n\u0131n belirtilen kaynaktan API&#8217;ye eri\u015fimi engelledi\u011fini a\u00e7\u0131k\u00e7a g\u00f6sterir.  \u00d6rne\u011fin, fetch fonksiyonu ile API \u00e7a\u011fr\u0131s\u0131 yapt\u0131\u011f\u0131n\u0131zda, promise reddedilecek ve hata mesaj\u0131 alacaks\u0131n\u0131z.<\/p>\n<h2>CORS Hatas\u0131n\u0131n \u00c7\u00f6z\u00fcm Yollar\u0131<\/h2>\n<p>CORS hatas\u0131n\u0131 \u00e7\u00f6zmek i\u00e7in birka\u00e7 y\u00f6ntem mevcuttur.  \u0130\u015fte en yayg\u0131n \u00e7\u00f6z\u00fcmler:<\/p>\n<h3>1. Proxy Sunucu Kullan\u0131m\u0131:<\/h3>\n<p>En basit \u00e7\u00f6z\u00fcm, kendi sunucunuzda bir proxy sunucu kurmakt\u0131r. Proxy sunucu, API iste\u011fini sizin ad\u0131n\u0131za yapar ve cevab\u0131 size iletir.  Bu sayede,  taray\u0131c\u0131,  API&#8217;ye sizin sunucunuzdan eri\u015fim sa\u011flad\u0131\u011f\u0131 i\u00e7in CORS hatas\u0131 olu\u015fmaz.  Bu y\u00f6ntem,  API sa\u011flay\u0131c\u0131s\u0131n\u0131n kontrol\u00fcn\u00fcz d\u0131\u015f\u0131nda oldu\u011fu durumlarda idealdir.  Ancak,  ek bir sunucu kurulumu gerektirdi\u011fi i\u00e7in daha karma\u015f\u0131k olabilir. <a href=\"https:\/\/www.example.com\/proxy-server-tutorial\" target=\"_blank\">Proxy sunucu kurulumu hakk\u0131nda daha fazla bilgi i\u00e7in buraya t\u0131klayabilirsiniz.<\/a><\/p>\n<h3>2. API Sa\u011flay\u0131c\u0131s\u0131yla \u0130leti\u015fime Ge\u00e7me:<\/h3>\n<p>E\u011fer m\u00fcmk\u00fcnse, API sa\u011flay\u0131c\u0131s\u0131yla ileti\u015fime ge\u00e7ip CORS politikas\u0131n\u0131 de\u011fi\u015ftirmelerini isteyebilirsiniz.  \u00c7o\u011fu API sa\u011flay\u0131c\u0131s\u0131,  CORS politikas\u0131n\u0131 ayarlama imkan\u0131 sunar.  Bu,  en temiz ve uzun vadeli \u00e7\u00f6z\u00fcmd\u00fcr.  API sa\u011flay\u0131c\u0131s\u0131n\u0131n kendi sunucular\u0131nda gerekli ayarlar\u0131 yapmas\u0131, sizin herhangi bir ek i\u015flem yapman\u0131za gerek kalmadan sorunu \u00e7\u00f6zecektir.<\/p>\n<h3>3. CORS Header&#8217;lar\u0131n\u0131 Ayarlama (Sunucu Taraf\u0131):<\/h3>\n<p>E\u011fer API&#8217;nin sunucu taraf\u0131na eri\u015fiminiz varsa,  CORS header&#8217;lar\u0131n\u0131 kendiniz ayarlayabilirsiniz.  Bu header&#8217;lar,  taray\u0131c\u0131n\u0131n hangi domainlerin API&#8217;ye eri\u015febilece\u011fini belirler.  \u00d6rne\u011fin,  <code>Access-Control-Allow-Origin<\/code> header&#8217;\u0131,  izin verilen domainleri belirtir.  Bu y\u00f6ntem,  sunucu taraf\u0131nda kodlama bilgisi gerektirir. A\u015fa\u011f\u0131daki \u00f6rnek, Node.js kullanarak nas\u0131l yap\u0131laca\u011f\u0131n\u0131 g\u00f6sterir:<\/p>\n<pre><code class=\"language-javascript\">\n\/\/ Node.js \u00f6rne\u011fi (Express.js kullanarak)\napp.use((req, res, next) => {\n  res.header('Access-Control-Allow-Origin', '*'); \/\/ T\u00fcm origin'lerden izin ver (G\u00fcvenlik a\u00e7\u0131s\u0131ndan \u00f6nerilmez)\n  res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');\n  res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization');\n  next();\n});\n<\/code><\/pre>\n<p><strong>\u00d6nemli Not:<\/strong> <code>Access-Control-Allow-Origin: '*'<\/code>  t\u00fcm domainlere izin verir ve g\u00fcvenlik a\u00e7\u0131s\u0131ndan \u00f6nerilmez.  \u00dcretim ortam\u0131nda,  sadece belirli domainleri belirtmelisiniz.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>CORS hatas\u0131, web geli\u015ftirmede s\u0131k kar\u015f\u0131la\u015f\u0131lan bir problem olsa da,  yukar\u0131da a\u00e7\u0131klanan y\u00f6ntemlerle kolayca \u00e7\u00f6z\u00fclebilir.  En uygun \u00e7\u00f6z\u00fcm,  projenizin ve API sa\u011flay\u0131c\u0131s\u0131n\u0131n \u00f6zelliklerine ba\u011fl\u0131 olarak de\u011fi\u015fir.  Her zaman g\u00fcvenli\u011fi \u00f6n planda tutarak en iyi \u00e7\u00f6z\u00fcm\u00fc se\u00e7meniz \u00f6nemlidir.  Daha fazla bilgi i\u00e7in <a href=\"https:\/\/fatihsoysal.com\" target=\"_blank\">fatihsoysal.com<\/a> adresini ziyaret edebilirsiniz.<\/p>\n<p>#Etiketler: CORS hatas\u0131, CORS \u00e7\u00f6z\u00fcm\u00fc, API, d\u0131\u015f API, fetch, Javascript, AJAX, cross-origin resource sharing, g\u00fcvenlik, web geli\u015ftirme, proxy sunucu,  Access-Control-Allow-Origin<br \/>\n<\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"CORS Hatas\u0131: D\u0131\u015f API&#8217;lerden Veri \u00c7ekerken \u00c7\u00f6z\u00fcm Merhaba! Ben Fatih Soysal ve bug\u00fcn sizlere web geli\u015ftirmede s\u0131kl\u0131kla kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-18780","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>CORS Hatas\u0131: D\u0131\u015f API&#039;lerden Veri \u00c7ekerken \u00c7\u00f6z\u00fcm<\/title>\n<meta name=\"description\" content=\"Merhaba! Ben Fatih Soysal ve bug\u00fcn sizlere web geli\u015ftirmede s\u0131kl\u0131kla kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z bir sorunu, CORS (Cross-Origin Resource Sharing) hatas\u0131n\u0131 ve \u00e7\u00f6z\u00fcm y\u00f6ntemlerini detayl\u0131 bir \u015fekilde anlataca\u011f\u0131m. D\u0131\u015far\u0131dan bir API&#039;ye eri\u015fmeye \u00e7al\u0131\u015f\u0131rken bu hatayla s\u0131kl\u0131kla kar\u015f\u0131la\u015fabilirsiniz. Bu hata, taray\u0131c\u0131n\u0131n g\u00fcvenlik \u00f6nlemlerinden kaynaklan\u0131r ve farkl\u0131 domainler aras\u0131nda kaynak payla\u015f\u0131m\u0131n\u0131 k\u0131s\u0131tlar. \u00d6rne\u011fin, `fatihsoysal.com` adresinden `api.example.com` adresindeki bir API&#039;ye eri\u015fmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda bu hata ortaya \u00e7\u0131kabilir.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CORS Hatas\u0131: D\u0131\u015f API&#039;lerden Veri \u00c7ekerken \u00c7\u00f6z\u00fcm\" \/>\n<meta property=\"og:description\" content=\"Merhaba! Ben Fatih Soysal ve bug\u00fcn sizlere web geli\u015ftirmede s\u0131kl\u0131kla kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z bir sorunu, CORS (Cross-Origin Resource Sharing) hatas\u0131n\u0131 ve \u00e7\u00f6z\u00fcm y\u00f6ntemlerini detayl\u0131 bir \u015fekilde anlataca\u011f\u0131m. D\u0131\u015far\u0131dan bir API&#039;ye eri\u015fmeye \u00e7al\u0131\u015f\u0131rken bu hatayla s\u0131kl\u0131kla kar\u015f\u0131la\u015fabilirsiniz. Bu hata, taray\u0131c\u0131n\u0131n g\u00fcvenlik \u00f6nlemlerinden kaynaklan\u0131r ve farkl\u0131 domainler aras\u0131nda kaynak payla\u015f\u0131m\u0131n\u0131 k\u0131s\u0131tlar. \u00d6rne\u011fin, `fatihsoysal.com` adresinden `api.example.com` adresindeki bir API&#039;ye eri\u015fmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda bu hata ortaya \u00e7\u0131kabilir.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-21T08:30:16+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"CORS Hatas\u0131: D\u0131\u015f API&#8217;lerden Veri \u00c7ekerken \u00c7\u00f6z\u00fcm\",\"datePublished\":\"2025-04-21T08:30:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/\"},\"wordCount\":652,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/\",\"name\":\"CORS Hatas\u0131: D\u0131\u015f API'lerden Veri \u00c7ekerken \u00c7\u00f6z\u00fcm\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-04-21T08:30:16+00:00\",\"description\":\"Merhaba! Ben Fatih Soysal ve bug\u00fcn sizlere web geli\u015ftirmede s\u0131kl\u0131kla kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z bir sorunu, CORS (Cross-Origin Resource Sharing) hatas\u0131n\u0131 ve \u00e7\u00f6z\u00fcm y\u00f6ntemlerini detayl\u0131 bir \u015fekilde anlataca\u011f\u0131m. D\u0131\u015far\u0131dan bir API'ye eri\u015fmeye \u00e7al\u0131\u015f\u0131rken bu hatayla s\u0131kl\u0131kla kar\u015f\u0131la\u015fabilirsiniz. Bu hata, taray\u0131c\u0131n\u0131n g\u00fcvenlik \u00f6nlemlerinden kaynaklan\u0131r ve farkl\u0131 domainler aras\u0131nda kaynak payla\u015f\u0131m\u0131n\u0131 k\u0131s\u0131tlar. \u00d6rne\u011fin, `fatihsoysal.com` adresinden `api.example.com` adresindeki bir API'ye eri\u015fmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda bu hata ortaya \u00e7\u0131kabilir.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CORS Hatas\u0131: D\u0131\u015f API&#8217;lerden Veri \u00c7ekerken \u00c7\u00f6z\u00fcm\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"CORS Hatas\u0131: D\u0131\u015f API'lerden Veri \u00c7ekerken \u00c7\u00f6z\u00fcm","description":"Merhaba! Ben Fatih Soysal ve bug\u00fcn sizlere web geli\u015ftirmede s\u0131kl\u0131kla kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z bir sorunu, CORS (Cross-Origin Resource Sharing) hatas\u0131n\u0131 ve \u00e7\u00f6z\u00fcm y\u00f6ntemlerini detayl\u0131 bir \u015fekilde anlataca\u011f\u0131m. D\u0131\u015far\u0131dan bir API'ye eri\u015fmeye \u00e7al\u0131\u015f\u0131rken bu hatayla s\u0131kl\u0131kla kar\u015f\u0131la\u015fabilirsiniz. Bu hata, taray\u0131c\u0131n\u0131n g\u00fcvenlik \u00f6nlemlerinden kaynaklan\u0131r ve farkl\u0131 domainler aras\u0131nda kaynak payla\u015f\u0131m\u0131n\u0131 k\u0131s\u0131tlar. \u00d6rne\u011fin, `fatihsoysal.com` adresinden `api.example.com` adresindeki bir API'ye eri\u015fmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda bu hata ortaya \u00e7\u0131kabilir.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/","og_locale":"tr_TR","og_type":"article","og_title":"CORS Hatas\u0131: D\u0131\u015f API'lerden Veri \u00c7ekerken \u00c7\u00f6z\u00fcm","og_description":"Merhaba! Ben Fatih Soysal ve bug\u00fcn sizlere web geli\u015ftirmede s\u0131kl\u0131kla kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z bir sorunu, CORS (Cross-Origin Resource Sharing) hatas\u0131n\u0131 ve \u00e7\u00f6z\u00fcm y\u00f6ntemlerini detayl\u0131 bir \u015fekilde anlataca\u011f\u0131m. D\u0131\u015far\u0131dan bir API'ye eri\u015fmeye \u00e7al\u0131\u015f\u0131rken bu hatayla s\u0131kl\u0131kla kar\u015f\u0131la\u015fabilirsiniz. Bu hata, taray\u0131c\u0131n\u0131n g\u00fcvenlik \u00f6nlemlerinden kaynaklan\u0131r ve farkl\u0131 domainler aras\u0131nda kaynak payla\u015f\u0131m\u0131n\u0131 k\u0131s\u0131tlar. \u00d6rne\u011fin, `fatihsoysal.com` adresinden `api.example.com` adresindeki bir API'ye eri\u015fmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda bu hata ortaya \u00e7\u0131kabilir.","og_url":"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-04-21T08:30:16+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"3 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"CORS Hatas\u0131: D\u0131\u015f API&#8217;lerden Veri \u00c7ekerken \u00c7\u00f6z\u00fcm","datePublished":"2025-04-21T08:30:16+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/"},"wordCount":652,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/","url":"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/","name":"CORS Hatas\u0131: D\u0131\u015f API'lerden Veri \u00c7ekerken \u00c7\u00f6z\u00fcm","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-04-21T08:30:16+00:00","description":"Merhaba! Ben Fatih Soysal ve bug\u00fcn sizlere web geli\u015ftirmede s\u0131kl\u0131kla kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z bir sorunu, CORS (Cross-Origin Resource Sharing) hatas\u0131n\u0131 ve \u00e7\u00f6z\u00fcm y\u00f6ntemlerini detayl\u0131 bir \u015fekilde anlataca\u011f\u0131m. D\u0131\u015far\u0131dan bir API'ye eri\u015fmeye \u00e7al\u0131\u015f\u0131rken bu hatayla s\u0131kl\u0131kla kar\u015f\u0131la\u015fabilirsiniz. Bu hata, taray\u0131c\u0131n\u0131n g\u00fcvenlik \u00f6nlemlerinden kaynaklan\u0131r ve farkl\u0131 domainler aras\u0131nda kaynak payla\u015f\u0131m\u0131n\u0131 k\u0131s\u0131tlar. \u00d6rne\u011fin, `fatihsoysal.com` adresinden `api.example.com` adresindeki bir API'ye eri\u015fmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda bu hata ortaya \u00e7\u0131kabilir.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/cors-hatasi-dis-apilerden-veri-cekerken-cozum\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"CORS Hatas\u0131: D\u0131\u015f API&#8217;lerden Veri \u00c7ekerken \u00c7\u00f6z\u00fcm"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/18780","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=18780"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/18780\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=18780"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=18780"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=18780"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}