{"id":32019,"date":"2025-10-16T20:31:47","date_gmt":"2025-10-16T17:31:47","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/"},"modified":"2025-10-16T20:31:47","modified_gmt":"2025-10-16T17:31:47","slug":"csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/","title":{"rendered":"CSRF ve \u00dc\u00e7\u00fcnc\u00fc Taraf \u00c7erez Engellemesi: Taray\u0131c\u0131 G\u00fcvenli\u011fine Derin Bak\u0131\u015f"},"content":{"rendered":"<p><body><\/p>\n<p>Web d\u00fcnyas\u0131, her ge\u00e7en g\u00fcn daha karma\u015f\u0131k hale gelen g\u00fcvenlik tehditleriyle dolu. \u00d6zellikle kullan\u0131c\u0131 verilerinin gizlili\u011fi ve g\u00fcvenli\u011fi, modern internetin en kritik ba\u015fl\u0131klar\u0131ndan biri. Bu makalede, bir CSRF (Cross-Site Request Forgery) vakas\u0131 \u00fczerinden, taray\u0131c\u0131lar\u0131n \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezleri engelleme stratejilerinin web g\u00fcvenli\u011fini nas\u0131l yeniden \u015fekillendirdi\u011fini ve geli\u015ftiricilerin bu yeni d\u00fczenlemelere nas\u0131l adapte olmas\u0131 gerekti\u011fini detayl\u0131ca inceleyece\u011fiz. Hedefimiz, bu teknik karma\u015fay\u0131 herkesin anlayabilece\u011fi samimi ama profesyonel bir dille a\u00e7\u0131klamak.<\/p>\n<p>\u0130nternet sitelerini ziyaret etti\u011fimizde, bazen fark\u0131nda olmadan, bazen de bilin\u00e7li olarak deneyimimizi ki\u015fiselle\u015ftiren k\u00fc\u00e7\u00fck veri par\u00e7ac\u0131klar\u0131yla etkile\u015fime gireriz: \u00c7erezler (cookies). Bu \u00e7erezler, web&#8217;in temel ta\u015flar\u0131ndan biridir; kullan\u0131c\u0131 oturumlar\u0131n\u0131 y\u00f6netmekten, al\u0131\u015fveri\u015f sepeti bilgilerini saklamaya, dil tercihlerinizi hat\u0131rlamaya kadar bir\u00e7ok farkl\u0131 i\u015flevi yerine getirirler. Ancak, \u00e7erezlerin bu g\u00fc\u00e7l\u00fc yap\u0131s\u0131, k\u00f6t\u00fc niyetli akt\u00f6rlerin hedefi haline gelebilen g\u00fcvenlik a\u00e7\u0131klar\u0131na da davetiye \u00e7\u0131karabilir. \u00d6zellikle CSRF olarak bilinen sald\u0131r\u0131 t\u00fcr\u00fc, \u00e7erezlerin g\u00fcvenli kullan\u0131m\u0131n\u0131n ne kadar kritik oldu\u011funu bizlere g\u00f6sterir.<\/p>\n<h3>\u00c7erezler (Cookies) Nas\u0131l \u00c7al\u0131\u015f\u0131r ve T\u00fcrleri Nelerdir?<\/h3>\n<p>Bir web sitesini ziyaret etti\u011finizde, sunucu taray\u0131c\u0131n\u0131za k\u00fc\u00e7\u00fck metin dosyalar\u0131 g\u00f6nderir. Bu dosyalar, taray\u0131c\u0131n\u0131z taraf\u0131ndan depolan\u0131r ve ayn\u0131 siteyi bir sonraki ziyaretinizde sunucuya geri g\u00f6nderilir. Bu d\u00f6ng\u00fc, web sitelerinin sizin kim oldu\u011funuzu &#8220;hat\u0131rlamas\u0131n\u0131&#8221; ve size \u00f6zel bir deneyim sunmas\u0131n\u0131 sa\u011flar. \u00c7erezleri genel olarak iki ana kategoriye ay\u0131rabiliriz:<\/p>\n<ul>\n<li><strong>Birinci Taraf \u00c7erezler (First-Party Cookies):<\/strong> Ziyaret etti\u011finiz do\u011frudan web sitesi taraf\u0131ndan ayarlanan \u00e7erezlerdir. \u00d6rne\u011fin, banka.com&#8217;u ziyaret etti\u011finizde banka.com&#8217;un ayarlad\u0131\u011f\u0131 oturum \u00e7erezleri birinci taraf \u00e7erezleridir. Bunlar genellikle sitenin temel i\u015flevselli\u011fi i\u00e7in gereklidir ve taray\u0131c\u0131 engelleme politikalar\u0131ndan en az etkilenenlerdir.<\/li>\n<li><strong>\u00dc\u00e7\u00fcnc\u00fc Taraf \u00c7erezler (Third-Party Cookies):<\/strong> Ziyaret etti\u011finiz web sitesinden farkl\u0131 bir alan ad\u0131 (domain) taraf\u0131ndan ayarlanan \u00e7erezlerdir. Genellikle reklam, analiz veya sosyal medya widget&#8217;lar\u0131 gibi harici hizmetler taraf\u0131ndan kullan\u0131l\u0131rlar. \u00d6rne\u011fin, bir haber sitesini ziyaret etti\u011finizde, sitede g\u00f6m\u00fcl\u00fc bir reklam sa\u011flay\u0131c\u0131s\u0131n\u0131n (ad.com gibi) taray\u0131c\u0131n\u0131za \u00e7erez b\u0131rakmas\u0131 \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezdir. \u0130\u015fte bu \u00e7erezler, kullan\u0131c\u0131 takibi ve gizlilik endi\u015felerinin merkezinde yer al\u0131r.<\/li>\n<\/ul>\n<p>\u00c7erezlerin bu farkl\u0131 t\u00fcrleri, taray\u0131c\u0131lar\u0131n g\u00fcvenlik mekanizmalar\u0131n\u0131 ve kullan\u0131c\u0131 gizlili\u011fi politikalar\u0131n\u0131 belirlemede \u00f6nemli bir rol oynar. \u00d6zellikle \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezlerin, bir kullan\u0131c\u0131n\u0131n farkl\u0131 sitelerdeki davran\u0131\u015flar\u0131n\u0131 izleyebilme potansiyeli, taray\u0131c\u0131lar\u0131n neden bu \u00e7erezlere kar\u015f\u0131 daha kat\u0131 \u00f6nlemler ald\u0131\u011f\u0131n\u0131 anlamam\u0131z i\u00e7in kritik bir noktad\u0131r.<\/p>\n<h3>CSRF Sald\u0131r\u0131s\u0131 Tam Olarak Ne Anlama Geliyor?<\/h3>\n<p>CSRF (Cross-Site Request Forgery) ya da T\u00fcrk\u00e7esiyle &#8220;Siteler Aras\u0131 \u0130stek Sahtecili\u011fi&#8221;, k\u00f6t\u00fc niyetli bir web sitesinin, bir kullan\u0131c\u0131n\u0131n g\u00fcvenilen bir web uygulamas\u0131na (\u00f6rne\u011fin, bankac\u0131l\u0131k sitesi, e-posta sa\u011flay\u0131c\u0131s\u0131) istemsizce komut g\u00f6ndermesini sa\u011flad\u0131\u011f\u0131 bir sald\u0131r\u0131 t\u00fcr\u00fcd\u00fcr. Bu sald\u0131r\u0131, kullan\u0131c\u0131n\u0131n o anda g\u00fcvenilen sitede oturum a\u00e7m\u0131\u015f olmas\u0131n\u0131 ve taray\u0131c\u0131s\u0131n\u0131n bu oturumla ili\u015fkili \u00e7erezleri otomatik olarak iste\u011fe eklemesini istismar eder. Sald\u0131rgan, kullan\u0131c\u0131n\u0131n fark\u0131nda olmadan, bir eylem (para transferi, \u015fifre de\u011fi\u015ftirme vb.) ger\u00e7ekle\u015ftirmesini sa\u011flamaya \u00e7al\u0131\u015f\u0131r.<\/p>\n<p>Basit bir senaryo d\u00fc\u015f\u00fcnelim: Bir kullan\u0131c\u0131 banka hesab\u0131na giri\u015f yapm\u0131\u015f ve taray\u0131c\u0131s\u0131nda oturum \u00e7erezi bulunmaktad\u0131r. Sald\u0131rgan, kullan\u0131c\u0131ya k\u00f6t\u00fc niyetli bir e-posta veya web sitesi arac\u0131l\u0131\u011f\u0131yla, asl\u0131nda bir banka transferini tetikleyen gizli bir HTML formu veya resim etiketi i\u00e7eren bir ba\u011flant\u0131 g\u00f6nderir. Kullan\u0131c\u0131 bu ba\u011flant\u0131ya t\u0131klad\u0131\u011f\u0131nda veya sayfay\u0131 ziyaret etti\u011finde, taray\u0131c\u0131 otomatik olarak banka.com&#8217;a bir istek g\u00f6nderir ve o anda aktif olan oturum \u00e7erezini de bu iste\u011fe ekler. Banka sunucusu, iste\u011fin me\u015fru bir kullan\u0131c\u0131dan geldi\u011fini d\u00fc\u015f\u00fcnerek i\u015flemi ger\u00e7ekle\u015ftirir. \u00c7\u00fcnk\u00fc taray\u0131c\u0131, iste\u011fin kayna\u011f\u0131n\u0131 de\u011fil, sadece \u00e7erezin g\u00f6nderilmesi gereken domaini kontrol eder.<\/p>\n<p>CSRF&#8217;nin tehlikesi, kullan\u0131c\u0131n\u0131n izni veya bilgisi olmadan kritik i\u015flemlerin ger\u00e7ekle\u015ftirilebilmesidir. Bu durum, veri kayb\u0131na, yetkisiz eri\u015fime veya finansal zarara yol a\u00e7abilir. Geleneksel olarak CSRF&#8217;ye kar\u015f\u0131 savunmada, isteklere \u00f6zel &#8220;CSRF token&#8221; eklemek gibi y\u00f6ntemler kullan\u0131l\u0131rken, modern taray\u0131c\u0131lar\u0131n \u00e7erez y\u00f6netimi politikalar\u0131 (\u00f6zellikle SameSite niteli\u011fi), bu t\u00fcr sald\u0131r\u0131lara kar\u015f\u0131 ek bir savunma hatt\u0131 olu\u015fturmu\u015ftur.<\/p>\n<h2>Taray\u0131c\u0131lar Neden \u00dc\u00e7\u00fcnc\u00fc Taraf \u00c7erezleri Engellemeye Ba\u015flad\u0131?<\/h2>\n<p>Son y\u0131llarda, internet kullan\u0131c\u0131lar\u0131n\u0131n gizlilik endi\u015feleri giderek artt\u0131 ve bu durum, web taray\u0131c\u0131 geli\u015ftiricilerini \u00e7erez politikalar\u0131n\u0131 g\u00f6zden ge\u00e7irmeye itti. \u00dc\u00e7\u00fcnc\u00fc taraf \u00e7erezlerin yayg\u0131n kullan\u0131m\u0131, web&#8217;deki takip mekanizmalar\u0131n\u0131n temelini olu\u015fturuyordu; ancak bu durum, kullan\u0131c\u0131lar\u0131n internet \u00fczerindeki hareketlerinin a\u015f\u0131r\u0131 derecede izlenmesine yol a\u00e7t\u0131\u011f\u0131 i\u00e7in ciddi etik ve gizlilik tart\u0131\u015fmalar\u0131n\u0131 beraberinde getirdi. Taray\u0131c\u0131lar, kullan\u0131c\u0131lar\u0131n bu endi\u015felerine yan\u0131t vermek ve onlara daha g\u00fcvenli, daha \u00f6zel bir internet deneyimi sunmak amac\u0131yla \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erez engelleme mekanizmalar\u0131n\u0131 devreye sokmaya ba\u015flad\u0131.<\/p>\n<h3>Kullan\u0131c\u0131 Gizlili\u011fi ve Takip Endi\u015feleri Nelerdir?<\/h3>\n<p>\u00dc\u00e7\u00fcnc\u00fc taraf \u00e7erezler, genellikle kullan\u0131c\u0131lar\u0131n farkl\u0131 web sitelerindeki gezintilerini bir araya getirerek detayl\u0131 profiller olu\u015fturmak i\u00e7in kullan\u0131l\u0131r. Bir reklam a\u011f\u0131, web sitesi X&#8217;te g\u00f6rd\u00fc\u011f\u00fcn\u00fcz bir ayakkab\u0131 reklam\u0131n\u0131, web sitesi Y&#8217;de ziyaret etti\u011finiz bir blogda yeniden kar\u015f\u0131n\u0131za \u00e7\u0131karabilir. Bu &#8220;\u00e7apraz site takibi&#8221; (cross-site tracking), kullan\u0131c\u0131lar\u0131n internetteki dijital ayak izlerini birle\u015ftirerek, onlar\u0131n ilgi alanlar\u0131, demografik bilgileri ve davran\u0131\u015fsal kal\u0131plar\u0131 hakk\u0131nda kapsaml\u0131 veriler toplar. Her ne kadar bu durum pazarlamac\u0131lar i\u00e7in hedefli reklamc\u0131l\u0131k imkan\u0131 sunsa da, kullan\u0131c\u0131lar genellikle bu kadar yak\u0131ndan izlendiklerini bilmekten rahats\u0131zl\u0131k duyarlar.<\/p>\n<p>Gizlilik aktivistleri ve d\u00fczenleyici kurumlar (\u00f6rne\u011fin, GDPR ve CCPA gibi veri koruma yasalar\u0131), bu t\u00fcr izlemenin \u015feffaf olmad\u0131\u011f\u0131n\u0131 ve kullan\u0131c\u0131lar\u0131n kontrol\u00fc d\u0131\u015f\u0131nda ger\u00e7ekle\u015fti\u011fini s\u0131k\u00e7a dile getirdi. Taray\u0131c\u0131lar, kullan\u0131c\u0131lar\u0131n veri gizlili\u011fi \u00fczerindeki kontrol\u00fcn\u00fc art\u0131rmak ve online deneyimlerini daha \u015feffaf hale getirmek amac\u0131yla bu endi\u015feleri ciddiye ald\u0131. Sonu\u00e7 olarak, \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezleri varsay\u0131lan olarak engelleme veya k\u0131s\u0131tlama karar\u0131, bu gizlilik taleplerine verilen en \u00f6nemli yan\u0131tlardan biri haline geldi.<\/p>\n<h3>B\u00fcy\u00fck Taray\u0131c\u0131lar\u0131n (Chrome, Firefox, Safari) Yakla\u015f\u0131mlar\u0131 Nas\u0131l Farkl\u0131la\u015f\u0131yor?<\/h3>\n<p>Taray\u0131c\u0131lar, \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erez engellemesi konusunda farkl\u0131 yakla\u015f\u0131mlar benimsedi, ancak genel e\u011filim, kullan\u0131c\u0131 gizlili\u011fini \u00f6n planda tutmak oldu:<\/p>\n<ul>\n<li>\n      <strong>Safari (Apple &#8211; Intelligent Tracking Prevention &#8211; ITP):<\/strong> Apple&#8217;\u0131n Safari taray\u0131c\u0131s\u0131, \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezleri engelleme konusunda \u00f6nc\u00fc oldu. ITP (Ak\u0131ll\u0131 \u0130zleme \u00d6nlemesi) teknolojisi, makine \u00f6\u011frenimi kullanarak \u00e7apraz site takibini alg\u0131lar ve \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezlerini varsay\u0131lan olarak engeller. Bu, Safari kullan\u0131c\u0131lar\u0131n\u0131n reklam a\u011flar\u0131 ve di\u011fer takip\u00e7iler taraf\u0131ndan izlenmesini \u00f6nemli \u00f6l\u00e7\u00fcde zorla\u015ft\u0131r\u0131r. Safari, yaln\u0131zca izlemeyi engellemekle kalmaz, ayn\u0131 zamanda yerel depolama ve di\u011fer izleme mekanizmalar\u0131n\u0131 da k\u0131s\u0131tlar.\n    <\/li>\n<li>\n      <strong>Firefox (Mozilla &#8211; Enhanced Tracking Protection &#8211; ETP):<\/strong> Mozilla Firefox da benzer \u015fekilde, Geli\u015fmi\u015f \u0130zleme Korumas\u0131 (ETP) ad\u0131 alt\u0131nda varsay\u0131lan olarak \u00fc\u00e7\u00fcnc\u00fc taraf izleme \u00e7erezlerini ve di\u011fer takip edicileri engeller. Kullan\u0131c\u0131lar, Firefox&#8217;un gizlilik ayarlar\u0131ndan bu koruma d\u00fczeyini \u00f6zelle\u015ftirebilirler, ancak standart ayarlar bile g\u00fc\u00e7l\u00fc bir gizlilik kalkan\u0131 sunar. Firefox&#8217;un bu ad\u0131mlar\u0131, gizlili\u011fe odaklanan bir taray\u0131c\u0131 olarak konumunu g\u00fc\u00e7lendirmi\u015ftir.\n    <\/li>\n<li>\n      <strong>Chrome (Google &#8211; Privacy Sandbox):<\/strong> Google Chrome, piyasadaki en b\u00fcy\u00fck paya sahip taray\u0131c\u0131 olmas\u0131 nedeniyle, \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erez engelleme yakla\u015f\u0131m\u0131n\u0131 daha kademeli bir \u015fekilde ilerletiyor. Google, Privacy Sandbox (Gizlilik Kum Havuzu) giri\u015fimini ba\u015flatt\u0131. Bu giri\u015fim, \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezleri tamamen kald\u0131rmadan \u00f6nce, reklamc\u0131l\u0131k ve takip i\u00e7in gizlili\u011fi koruyan alternatif API&#8217;ler geli\u015ftirmeyi hedefliyor. Chrome, 2024&#8217;\u00fcn sonlar\u0131na do\u011fru \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezleri tamamen a\u015famal\u0131 olarak kald\u0131raca\u011f\u0131n\u0131 duyurdu. Bu s\u00fcre\u00e7, web ekosisteminin bu de\u011fi\u015fikliklere uyum sa\u011flamas\u0131na olanak tan\u0131mak i\u00e7in dikkatli bir \u015fekilde y\u00f6netiliyor. Google&#8217;\u0131n yakla\u015f\u0131m\u0131, hem kullan\u0131c\u0131 gizlili\u011fini art\u0131rmay\u0131 hem de reklamc\u0131l\u0131k end\u00fcstrisinin ihtiya\u00e7lar\u0131n\u0131 dengelemeyi ama\u00e7l\u0131yor.<\/li>\n<\/ul>\n<p>Sonu\u00e7 olarak, taray\u0131c\u0131lar\u0131n \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erez engellemesine y\u00f6nelik bu evrimi, sadece bir teknik de\u011fi\u015fiklik de\u011fil, ayn\u0131 zamanda web&#8217;in gelece\u011fini \u015fekillendiren \u00f6nemli bir gizlilik ve g\u00fcvenlik felsefesidir. Bu durum, geli\u015ftiricilerin uygulamalar\u0131n\u0131 tasarlama ve \u00e7erezleri y\u00f6netme bi\u00e7imlerini k\u00f6kten de\u011fi\u015ftirmelerini gerektirmektedir.<\/p>\n<h2>\u00dc\u00e7\u00fcnc\u00fc Taraf \u00c7erez Engellemesi CSRF Korumas\u0131n\u0131 Nas\u0131l Etkiliyor?<\/h2>\n<p>Taray\u0131c\u0131lar\u0131n \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezlere kar\u015f\u0131 ald\u0131\u011f\u0131 s\u0131k\u0131 \u00f6nlemler, \u00f6zellikle de SameSite \u00e7erez niteli\u011finin varsay\u0131lan davran\u0131\u015f\u0131ndaki de\u011fi\u015fiklikler, CSRF sald\u0131r\u0131lar\u0131na kar\u015f\u0131 beklenmedik ama ho\u015f bir yan etki yaratt\u0131: G\u00fc\u00e7l\u00fc bir do\u011fal savunma mekanizmas\u0131. Geleneksel CSRF koruma y\u00f6ntemleri karma\u015f\u0131k token mekanizmalar\u0131 gerektirirken, art\u0131k taray\u0131c\u0131lar kendili\u011finden bir\u00e7ok CSRF senaryosunu engelleme potansiyeline sahip.<\/p>\n<h3>Geleneksel CSRF Korumas\u0131 Y\u00f6ntemleri Nelerdi?<\/h3>\n<p>Taray\u0131c\u0131lar\u0131n SameSite niteli\u011fini varsay\u0131lan olarak &#8220;Lax&#8221; veya &#8220;Strict&#8221; yapmas\u0131ndan \u00f6nce, CSRF sald\u0131r\u0131lar\u0131na kar\u015f\u0131 korunmak i\u00e7in geli\u015ftiricilerin aktif olarak \u00f6nlemler almas\u0131 gerekiyordu. \u0130\u015fte en yayg\u0131n kullan\u0131lan geleneksel y\u00f6ntemler:<\/p>\n<ul>\n<li>\n      <strong>Synchronizer Token Pattern (CSRF Token):<\/strong> Bu, en yayg\u0131n ve \u00f6nerilen CSRF koruma y\u00f6ntemidir. Kullan\u0131c\u0131 bir form talep etti\u011finde, sunucu benzersiz, tahmin edilemez bir token (belirte\u00e7) olu\u015fturur ve bunu hem kullan\u0131c\u0131n\u0131n oturumunda hem de formun gizli bir alan\u0131nda (hidden field) saklar. Kullan\u0131c\u0131 formu g\u00f6nderdi\u011finde, sunucu formdaki token ile oturumdaki token&#8217;\u0131 kar\u015f\u0131la\u015ft\u0131r\u0131r. E\u015fle\u015fmezse, istek reddedilir. Bu sayede, sald\u0131rgan bir form olu\u015ftursa bile, ge\u00e7erli bir CSRF token&#8217;\u0131na sahip olamayaca\u011f\u0131 i\u00e7in sald\u0131r\u0131 ba\u015far\u0131s\u0131z olur.<\/p>\n<pre><code>\n<form action=\"\/transfer\" method=\"POST\">\n    <input type=\"hidden\" name=\"_csrf\" value=\"{{ csrf_token }}\">\n    <input type=\"text\" name=\"amount\" placeholder=\"Miktar\">\n    <button type=\"submit\">Transfer Et<\/button>\n<\/form>\n      <\/pre>\n<p><\/code><\/p>\n<p>Bu \u00f6rnekte, <code>{{ csrf_token }}<\/code> sunucu taraf\u0131ndan dinamik olarak olu\u015fturulan ve her istek i\u00e7in benzersiz olmas\u0131 beklenen bir belirteci temsil eder.<\/p>\n<\/li>\n<li>\n      <strong>Double Submit Cookie:<\/strong> Bu y\u00f6ntemde, sunucu ilk giri\u015fte rastgele bir de\u011fer olu\u015fturur ve bunu hem bir \u00e7erez (CSRF cookie) olarak hem de sayfan\u0131n gizli bir alan\u0131nda (hidden field) g\u00f6nderir. Kullan\u0131c\u0131 form g\u00f6nderdi\u011finde, hem \u00e7erezdeki de\u011fer hem de formdaki de\u011fer sunucuya ula\u015f\u0131r ve sunucu bu iki de\u011feri kar\u015f\u0131la\u015ft\u0131r\u0131r. Bu y\u00f6ntem, sunucuda durum tutmay\u0131 gerektirmedi\u011fi i\u00e7in daha hafif bir \u00e7\u00f6z\u00fcm olabilir ancak \u00e7erezin g\u00fcvenli\u011fi (HTTP-only olmamas\u0131 vb.) kritik \u00f6neme sahiptir.\n    <\/li>\n<li>\n      <strong>Referer Header Check:<\/strong> Sunucu, gelen iste\u011fin HTTP Referer ba\u015fl\u0131\u011f\u0131n\u0131 kontrol ederek, iste\u011fin kendi domaininden mi yoksa ba\u015fka bir domainden mi geldi\u011fini anlamaya \u00e7al\u0131\u015f\u0131r. E\u011fer istek ba\u015fka bir domainden geliyorsa reddeder. Ancak bu y\u00f6ntem, Referer ba\u015fl\u0131\u011f\u0131n\u0131n kullan\u0131c\u0131lar veya taray\u0131c\u0131lar taraf\u0131ndan gizlenebilmesi ya da sahtecili\u011finin yap\u0131labilmesi nedeniyle tam anlam\u0131yla g\u00fcvenilir de\u011fildir.\n    <\/li>\n<\/ul>\n<p>Bu geleneksel y\u00f6ntemler hala ge\u00e7erlili\u011fini korusa da, modern taray\u0131c\u0131lar\u0131n SameSite \u00e7erez politikalar\u0131, geli\u015ftiricilerin y\u00fck\u00fcn\u00fc hafifleten g\u00fc\u00e7l\u00fc bir ilk savunma katman\u0131 sunmu\u015ftur.<\/p>\n<h3>SameSite \u00c7erez Niteli\u011fi ve Modern CSRF Korumas\u0131: Uygulamal\u0131 Bak\u0131\u015f<\/h3>\n<p><code>SameSite<\/code> \u00e7erez niteli\u011fi, taray\u0131c\u0131lara bir \u00e7erezin \"siteler aras\u0131\" isteklerle g\u00f6nderilip g\u00f6nderilmeyece\u011fi konusunda talimat verir. Bu, \u00e7erezlerin nas\u0131l kullan\u0131ld\u0131\u011f\u0131 \u00fczerinde \u00f6nemli bir kontrol sa\u011flar ve \u00f6zellikle CSRF sald\u0131r\u0131lar\u0131na kar\u015f\u0131 g\u00fc\u00e7l\u00fc bir mekanizma sunar. 2020'den itibaren Chrome, Firefox ve di\u011fer modern taray\u0131c\u0131lar, <code>SameSite<\/code> niteli\u011fi belirtilmeyen \u00e7erezler i\u00e7in varsay\u0131lan davran\u0131\u015f\u0131 <code>Lax<\/code> olarak de\u011fi\u015ftirdi. Bu de\u011fi\u015fiklik, web g\u00fcvenli\u011finde \u00f6nemli bir kilometre ta\u015f\u0131d\u0131r.<\/p>\n<p><code>SameSite<\/code> niteli\u011finin \u00fc\u00e7 ana de\u011feri vard\u0131r:<\/p>\n<ul>\n<li>\n      <strong>Strict:<\/strong> Bu de\u011ferle i\u015faretlenmi\u015f bir \u00e7erez, yaln\u0131zca ayn\u0131 sitenin iste\u011fiyle g\u00f6nderilir. Yani, bir kullan\u0131c\u0131 banka.com'dayken bir istek yaparsa, banka.com'un \u00e7erezleri g\u00f6nderilir. Ancak, ba\u015fka bir siteden (\u00f6rne\u011fin, k\u00f6t\u00fcc\u00fcl.com) banka.com'a yap\u0131lan bir istekle bu \u00e7erezler asla g\u00f6nderilmez, link t\u0131klamalar\u0131 dahil. Bu, en y\u00fcksek g\u00fcvenlik seviyesini sunar ancak baz\u0131 siteler aras\u0131 i\u015flevsellikleri (\u00f6rne\u011fin, farkl\u0131 sitelerden gelen linklerle tek t\u0131klamayla oturum a\u00e7ma) bozabilir.\n    <\/li>\n<li>\n      <strong>Lax (Varsay\u0131lan):<\/strong> Bu de\u011fer, <code>Strict<\/code>'e g\u00f6re biraz daha esnektir ancak yine de g\u00fc\u00e7l\u00fc bir g\u00fcvenlik sa\u011flar. <code>Lax<\/code> ile i\u015faretlenmi\u015f \u00e7erezler, ayn\u0131 sitenin istekleriyle (\u00f6rne\u011fin, do\u011frudan adres \u00e7ubu\u011funa yaz\u0131lan URL veya ayn\u0131 siteden bir form g\u00f6nderimi) ve genellikle GET istekleriyle (\u00f6rne\u011fin, bir link t\u0131klamas\u0131yla farkl\u0131 bir siteden bir sayfaya giderken) g\u00f6nderilir. Ancak, bir POST iste\u011fiyle (\u00f6rne\u011fin, k\u00f6t\u00fcc\u00fcl.com'daki bir formdan banka.com'a yap\u0131lan bir POST iste\u011fi) veya di\u011fer \"tehlikeli\" siteler aras\u0131 HTTP metotlar\u0131yla asla g\u00f6nderilmez. \u0130\u015fte bu \u00f6zellik, \u00e7o\u011fu CSRF sald\u0131r\u0131s\u0131n\u0131 otomatik olarak engeller \u00e7\u00fcnk\u00fc CSRF sald\u0131r\u0131lar\u0131 genellikle oturum \u00e7erezinin bir POST veya benzer bir istekte g\u00f6nderilmesini hedefler.<\/p>\n<pre><code>\n\/\/ Sunucu taraf\u0131nda bir \u00e7erez ayarlarken\nres.cookie('sessionid', 'xyz', { sameSite: 'Lax', secure: true });\n\n\/\/ JavaScript ile \u00e7erez ayarlarken\ndocument.cookie = \"sessionid=xyz; SameSite=Lax; Secure\";\n      <\/pre>\n<p><\/code><\/p>\n<p>Yukar\u0131daki \u00f6rnekte, \u00e7erezin <code>SameSite=Lax<\/code> ve <code>Secure<\/code> (yaln\u0131zca HTTPS \u00fczerinden g\u00f6nderilmesi i\u00e7in) olarak ayarland\u0131\u011f\u0131n\u0131 g\u00f6r\u00fcyoruz.<\/p>\n<\/li>\n<li>\n      <strong>None:<\/strong> Bu de\u011fer, \u00e7erezin siteler aras\u0131 isteklerle g\u00f6nderilmesine izin verir. Ancak, bu de\u011feri kullanabilmek i\u00e7in \u00e7erezin mutlaka <code>Secure<\/code> niteli\u011fine sahip olmas\u0131 gerekir, yani sadece HTTPS ba\u011flant\u0131lar \u00fczerinden g\u00f6nderilebilir. <code>SameSite=None<\/code>, genellikle g\u00f6m\u00fcl\u00fc i\u00e7erikler (iframe'ler), \u00fc\u00e7\u00fcnc\u00fc taraf widget'lar veya tekli oturum a\u00e7ma (SSO) \u00e7\u00f6z\u00fcmleri gibi me\u015fru siteler aras\u0131 i\u015flevsellikler i\u00e7in kullan\u0131l\u0131r. Ancak, CSRF sald\u0131r\u0131lar\u0131na kar\u015f\u0131 \u00e7ok daha az koruma sa\u011flar ve yaln\u0131zca ger\u00e7ekten gerekli oldu\u011funda dikkatli bir \u015fekilde kullan\u0131lmal\u0131d\u0131r.\n    <\/li>\n<\/ul>\n<p>Taray\u0131c\u0131lar\u0131n <code>SameSite=Lax<\/code>'\u0131 varsay\u0131lan yapmas\u0131, web uygulamalar\u0131n\u0131n \u00e7o\u011funu otomatik olarak CSRF'ye kar\u015f\u0131 daha diren\u00e7li hale getirmi\u015ftir. Bu, geli\u015ftiriciler i\u00e7in harika bir haberdir \u00e7\u00fcnk\u00fc \u00e7o\u011fu durumda ayr\u0131 bir CSRF token mekanizmas\u0131 tasarlama ve uygulama y\u00fck\u00fcn\u00fc azalt\u0131r. Ancak, yine de <code>SameSite=None<\/code> kullanmak zorunda oldu\u011funuz senaryolar i\u00e7in veya eski taray\u0131c\u0131 uyumlulu\u011fu i\u00e7in ek CSRF token korumas\u0131 gibi y\u00f6ntemleri uygulamaya devam etmek en iyi uygulamad\u0131r.<\/p>\n<aside class=\"expert-tip\">\n    Uzman \u0130pucu: T\u00fcm oturum ve kimlik do\u011frulama \u00e7erezleriniz i\u00e7in <code>SameSite=Lax<\/code> veya <code>SameSite=Strict<\/code> kullanmaya \u00f6zen g\u00f6sterin. E\u011fer \u00fc\u00e7\u00fcnc\u00fc taraf bir ba\u011flamda \u00e7ereze ihtiyac\u0131n\u0131z varsa, mutlaka <code>SameSite=None; Secure<\/code> kullan\u0131n ve bu durumu ek CSRF koruma y\u00f6ntemleriyle destekleyin.<br \/>\n  <\/aside>\n<h2>Vaka Analizi: Bir CSRF Sald\u0131r\u0131s\u0131n\u0131n \u00d6nlenmesinde SameSite'\u0131n Rol\u00fc<\/h2>\n<p>Teorik bilgileri somutla\u015ft\u0131rmak i\u00e7in, ger\u00e7ek\u00e7i bir vaka analizi \u00fczerinden ilerleyelim. Bir bankac\u0131l\u0131k uygulamas\u0131 \u00f6rne\u011fi, SameSite niteli\u011finin CSRF sald\u0131r\u0131lar\u0131na kar\u015f\u0131 nas\u0131l etkili bir kalkan olu\u015fturdu\u011funu a\u00e7\u0131k\u00e7a g\u00f6sterecektir. Bu senaryo, kullan\u0131c\u0131lar\u0131n bankac\u0131l\u0131k i\u015flemleri gibi hassas eylemleri istemsizce ger\u00e7ekle\u015ftirmesini engellemek i\u00e7in taray\u0131c\u0131lar\u0131n ve \u00e7erez politikalar\u0131n\u0131n ne kadar kritik oldu\u011funu g\u00f6zler \u00f6n\u00fcne serecek.<\/p>\n<h3>Senaryo Kurulumu: Bankac\u0131l\u0131k Uygulamas\u0131 \u00d6rne\u011fi<\/h3>\n<p>Diyelim ki bir kullan\u0131c\u0131m\u0131z var, ad\u0131 Elif. Elif, g\u00fcvenilir <code>https:\/\/banka.com<\/code> adresindeki online bankac\u0131l\u0131k hesab\u0131na giri\u015f yapm\u0131\u015f ve taray\u0131c\u0131s\u0131nda oturum \u00e7erezi (\u00f6rne\u011fin, <code>sessionid<\/code>) aktif durumda. Bu oturum \u00e7erezi, sunucu taraf\u0131ndan a\u015fa\u011f\u0131daki gibi ayarlanm\u0131\u015f olsun:<\/p>\n<pre><code>\nSet-Cookie: sessionid=abcdef123456; Path=\/; HttpOnly; SameSite=Lax; Secure\n  <\/pre>\n<p><\/code><\/p>\n<p>G\u00f6rd\u00fc\u011f\u00fcm\u00fcz gibi, \u00e7erezin <code>SameSite=Lax<\/code> olarak ayarland\u0131\u011f\u0131n\u0131 ve yaln\u0131zca HTTPS \u00fczerinden g\u00f6nderilmesi i\u00e7in <code>Secure<\/code> bayra\u011f\u0131n\u0131n kullan\u0131ld\u0131\u011f\u0131n\u0131 varsay\u0131yoruz. Bu, modern taray\u0131c\u0131lar\u0131n varsay\u0131lan davran\u0131\u015f\u0131 olmasa bile, iyi bir uygulama \u00f6rne\u011fidir.<\/p>\n<p>\u015eimdi bir sald\u0131rgan\u0131m\u0131z var, ad\u0131 Can. Can, Elif'in banka hesab\u0131ndan kendi hesab\u0131na para transferi yapmak istiyor. Bunun i\u00e7in <code>https:\/\/kotusite.com<\/code> adresinde bir web sitesi haz\u0131rl\u0131yor. Bu sitede, Elif'in fark\u0131nda olmadan tetikleyebilece\u011fi gizli bir form bulunuyor.<\/p>\n<p>Normalde, Elif'in banka hesab\u0131ndan para transferi yapmas\u0131 i\u00e7in <code>https:\/\/banka.com\/transfer<\/code> adresine bir POST iste\u011fi g\u00f6ndermesi gerekir. Bu istek, al\u0131c\u0131 bilgisi, miktar ve belki de bir a\u00e7\u0131klama gibi verileri i\u00e7erir. \u00d6rnek bir form \u015f\u00f6yle g\u00f6r\u00fcnebilir:<\/p>\n<pre><code>\n<form action=\"https:\/\/banka.com\/transfer\" method=\"POST\">\n    <label for=\"alici\">Al\u0131c\u0131 Hesap Numaras\u0131:<\/label>\n    <input type=\"text\" id=\"alici\" name=\"alici\" value=\"TR123456789\"><br><br>\n    <label for=\"miktar\">Miktar:<\/label>\n    <input type=\"number\" id=\"miktar\" name=\"miktar\" value=\"1000\"><br><br>\n    <input type=\"submit\" value=\"Transferi Onayla\">\n<\/form>\n  <\/pre>\n<p><\/code><\/p>\n<p>Can, Elif'i <code>kotusite.com<\/code> adresine \u00e7ekmek i\u00e7in bir yem kullan\u0131r (\u00f6rne\u011fin, \"\u00dccretsiz Tatil Kazanmak \u0130\u00e7in T\u0131klay\u0131n!\" ba\u015fl\u0131\u011f\u0131 alt\u0131nda bir e-posta veya mesaj). Elif bu tuza\u011fa d\u00fc\u015fer ve Can'\u0131n k\u00f6t\u00fc niyetli sitesini ziyaret eder.<\/p>\n<h3>Sald\u0131r\u0131 Senaryosu ve Engellenme Mekanizmas\u0131 Nas\u0131l \u0130\u015fliyor?<\/h3>\n<p>Can'\u0131n <code>kotusite.com<\/code> sitesinde, Elif'in g\u00f6rmedi\u011fi, otomatik olarak \u00e7al\u0131\u015fan veya kullan\u0131c\u0131y\u0131 kand\u0131rarak t\u0131klatmay\u0131 hedefleyen gizli bir HTML formu bulunmaktad\u0131r:<\/p>\n<pre><code class=\"language-html\">\n<!-- kotusite.com \u00fczerinde gizlenmi\u015f k\u00f6t\u00fc niyetli form -->\n<html>\n<head>\n    <title>\u00dccretsiz Tatil \u0130\u00e7in T\u0131klay\u0131n!<\/title>\n<\/head>\n<body onload=\"document.forms[0].submit()\">\n    <p>Tebrikler, bir sonraki seyahatiniz i\u00e7in \u00f6d\u00fcl kazand\u0131n\u0131z!<\/p>\n    <!-- A\u015fa\u011f\u0131daki form otomatik olarak banka.com'a POST iste\u011fi g\u00f6ndermeye \u00e7al\u0131\u015f\u0131r -->\n    <form action=\"https:\/\/banka.com\/transfer\" method=\"POST\">\n        <input type=\"hidden\" name=\"alici\" value=\"TR987654321\"> <!-- Can'\u0131n hesap numaras\u0131 -->\n        <input type=\"hidden\" name=\"miktar\" value=\"5000\">\n        <!-- Ger\u00e7ek hayatta burada bir CSRF token olmas\u0131 beklenir, ama sald\u0131rgan bunu bilmez\/sahip olamaz. -->\n    <\/form>\n    <!-- Veya, bir resim etiketi ile GET iste\u011fi tetiklenebilir (ancak POST daha yayg\u0131n tehlikedir) -->\n    <!-- <img decoding=\"async\" src=\"https:\/\/banka.com\/transfer?alici=TR987654321&miktar=5000\" style=\"display:none;\"> -->\n<\/body>\n<\/html>\n  <\/pre>\n<p><\/code><\/p>\n<p>Elif <code>kotusite.com<\/code> adresini ziyaret etti\u011finde, sayfa otomatik olarak bu gizli formu g\u00f6nderir. \u0130\u015fte bu noktada <code>SameSite=Lax<\/code> niteli\u011fi devreye giriyor:<\/p>\n<ol>\n<li>Elif, <code>kotusite.com<\/code> adresinden <code>https:\/\/banka.com\/transfer<\/code> adresine bir POST iste\u011fi ba\u015flat\u0131r. Bu, siteler aras\u0131 (cross-site) bir istektir.<\/li>\n<li>Elif'in <code>sessionid<\/code> \u00e7erezi <code>SameSite=Lax<\/code> olarak ayarland\u0131\u011f\u0131 i\u00e7in, modern taray\u0131c\u0131lar bu \u00e7erezi siteler aras\u0131 POST iste\u011fiyle birlikte g\u00f6ndermezler. \u00c7\u00fcnk\u00fc <code>Lax<\/code> politikas\u0131, siteler aras\u0131 POST isteklerinde \u00e7erezlerin g\u00f6nderilmesini engeller.<\/li>\n<li><code>https:\/\/banka.com<\/code> sunucusu, transfer iste\u011fini ald\u0131\u011f\u0131nda, bu istekle birlikte ge\u00e7erli bir <code>sessionid<\/code> \u00e7erezi g\u00f6rmez. Dolay\u0131s\u0131yla, sunucu bu iste\u011fin kimli\u011fi do\u011frulanm\u0131\u015f bir kullan\u0131c\u0131dan gelmedi\u011fini varsayar ve i\u015flemi reddeder. Genellikle kullan\u0131c\u0131y\u0131 yeniden oturum a\u00e7maya y\u00f6nlendirir veya do\u011frudan bir hata mesaj\u0131 d\u00f6nd\u00fcr\u00fcr.<\/li>\n<\/ol>\n<p>Sonu\u00e7 olarak, Elif'in oturum \u00e7erezi <code>SameSite=Lax<\/code> oldu\u011fu i\u00e7in, Can'\u0131n CSRF sald\u0131r\u0131s\u0131 otomatik olarak engellenmi\u015f olur. Elif'in paras\u0131 g\u00fcvende kal\u0131r ve Can'\u0131n k\u00f6t\u00fc niyetli plan\u0131 suya d\u00fc\u015fer.<\/p>\n<p>Peki ya <code>SameSite=None<\/code> olsayd\u0131 (veya hi\u00e7 belirtilmeseydi ve eski taray\u0131c\u0131 olsayd\u0131)? E\u011fer \u00e7erez <code>SameSite=None<\/code> olarak ayarlanm\u0131\u015f olsayd\u0131 (veya taray\u0131c\u0131lar <code>Lax<\/code> varsay\u0131lan\u0131n\u0131 uygulamadan \u00f6nce olsayd\u0131), o zaman <code>sessionid<\/code> \u00e7erezi bu siteler aras\u0131 POST iste\u011fiyle birlikte g\u00f6nderilirdi. Bu durumda, banka sunucusu iste\u011fi me\u015fru kabul edip i\u015flemi ger\u00e7ekle\u015ftirebilirdi. Bu senaryoda Elif, banka hesab\u0131ndan para kaybetmi\u015f olurdu.<\/p>\n<p>Bu vaka analizi, <code>SameSite<\/code> niteli\u011finin, \u00f6zellikle <code>Lax<\/code> veya <code>Strict<\/code> de\u011ferleriyle, CSRF sald\u0131r\u0131lar\u0131na kar\u015f\u0131 ne kadar g\u00fc\u00e7l\u00fc ve pasif bir koruma sa\u011flad\u0131\u011f\u0131n\u0131 a\u00e7\u0131k\u00e7a g\u00f6stermektedir. Geli\u015ftiricilerin bu niteli\u011fi do\u011fru bir \u015fekilde kullanmas\u0131, web uygulamalar\u0131n\u0131n genel g\u00fcvenlik duru\u015funu \u00f6nemli \u00f6l\u00e7\u00fcde iyile\u015ftirecektir.<\/p>\n<h2>Geli\u015ftiriciler \u0130\u00e7in \u00c7\u00f6z\u00fcmler ve En \u0130yi Uygulamalar: Gelece\u011fe Haz\u0131rl\u0131k<\/h2>\n<p>\u00dc\u00e7\u00fcnc\u00fc taraf \u00e7erez engellemesinin yayg\u0131nla\u015fmas\u0131 ve SameSite niteli\u011finin varsay\u0131lan davran\u0131\u015f\u0131n\u0131n de\u011fi\u015fmesi, geli\u015ftiricilerin web uygulamalar\u0131n\u0131 tasarlama ve \u00e7erezleri y\u00f6netme bi\u00e7imlerinde paradigma de\u011fi\u015fikli\u011fi yaratm\u0131\u015ft\u0131r. Art\u0131k sadece i\u015flevsellik de\u011fil, ayn\u0131 zamanda gizlilik ve g\u00fcvenlik odakl\u0131 \u00e7erez y\u00f6netimi de bir zorunluluktur. Bu b\u00f6l\u00fcmde, geli\u015ftiricilerin bu yeni d\u00fczene ayak uydurmak i\u00e7in kullanabilece\u011fi \u00e7\u00f6z\u00fcmleri ve en iyi uygulamalar\u0131 inceleyece\u011fiz.<\/p>\n<h3>Third-Party Contextlerde \u00c7erez Y\u00f6netimi Nas\u0131l Yap\u0131lmal\u0131?<\/h3>\n<p>\u00c7o\u011fu durumda <code>SameSite=Lax<\/code> varsay\u0131lan\u0131 CSRF'ye kar\u015f\u0131 yeterli koruma sa\u011flarken, baz\u0131 senaryolarda \u00fc\u00e7\u00fcnc\u00fc taraf bir ba\u011flamda \u00e7ereze ihtiya\u00e7 duymak ka\u00e7\u0131n\u0131lmazd\u0131r. \u00d6rne\u011fin, harici bir kimlik sa\u011flay\u0131c\u0131 (Google, Facebook gibi) arac\u0131l\u0131\u011f\u0131yla tekli oturum a\u00e7ma (SSO) sistemi kullan\u0131yorsan\u0131z veya sitenize g\u00f6m\u00fcl\u00fc bir \u00fc\u00e7\u00fcnc\u00fc taraf widget'\u0131 (\u00f6rne\u011fin, bir sohbet penceresi veya \u00f6deme sistemi) varsa, bu hizmetlerin kendi \u00e7erezlerini ayarlamas\u0131 veya eri\u015fmesi gerekebilir. Bu t\u00fcr durumlarda <code>SameSite=None; Secure<\/code> kullanmak bir se\u00e7enektir, ancak bu dikkatle yap\u0131lmal\u0131d\u0131r:<\/p>\n<pre><code>\n\/\/ Sunucu taraf\u0131nda, \u00fc\u00e7\u00fcnc\u00fc taraf bir ba\u011flam i\u00e7in \u00e7erez ayarlarken\nres.cookie('thirdPartySession', 'xyz', { sameSite: 'None', secure: true });\n  <\/pre>\n<p><\/code><\/p>\n<p><strong>\u00d6nemli Not:<\/strong> <code>SameSite=None<\/code> yaln\u0131zca <code>Secure<\/code> niteli\u011fi ile birlikte kullan\u0131labilir. Yani bu \u00e7erezler yaln\u0131zca HTTPS ba\u011flant\u0131lar\u0131 \u00fczerinden g\u00f6nderilir. Bu, man-in-the-middle sald\u0131r\u0131lar\u0131na kar\u015f\u0131 ek bir g\u00fcvenlik katman\u0131 sa\u011flar. Ancak, <code>SameSite=None<\/code> kullanmak, \u00e7erezin siteler aras\u0131 ba\u011flamlarda serbest\u00e7e g\u00f6nderilebilece\u011fi anlam\u0131na geldi\u011fi i\u00e7in, geleneksel CSRF token korumas\u0131 gibi di\u011fer g\u00fcvenlik \u00f6nlemlerini de uygulamaya devam etmek \u00e7ok \u00f6nemlidir.<\/p>\n<p>Gelecekte, \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezlerin tamamen ortadan kalkmas\u0131yla birlikte, geli\u015ftiricilerin alternatif teknolojilere y\u00f6nelmesi gerekecek. \u0130\u015fte baz\u0131 \u00f6nemli yakla\u015f\u0131mlar:<\/p>\n<ul>\n<li>\n      <strong>CHIPS (Cookies Having Independent Partitioned State):<\/strong> Google Chrome'un \u00f6nerdi\u011fi bu \u00f6zellik, \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezlerin her \u00fcst d\u00fczey site i\u00e7in ayr\u0131 ayr\u0131 \"b\u00f6l\u00fcmlenmesini\" (partitioned) sa\u011flar. Yani, <code>ad.com<\/code> taraf\u0131ndan <code>siteA.com<\/code> \u00fczerinde ayarlanan bir \u00e7erez ile <code>ad.com<\/code> taraf\u0131ndan <code>siteB.com<\/code> \u00fczerinde ayarlanan bir \u00e7erez birbirinden tamamen ba\u011f\u0131ms\u0131zd\u0131r. Bu, \u00e7apraz site takibini engellerken, \u00fc\u00e7\u00fcnc\u00fc taraf hizmetlerin (\u00f6rne\u011fin, g\u00f6m\u00fcl\u00fc bir sohbet widget'\u0131n\u0131n kullan\u0131c\u0131 ayarlar\u0131n\u0131 hat\u0131rlamas\u0131 gibi) i\u015flevselli\u011fini s\u00fcrd\u00fcrmesine olanak tan\u0131r.<\/p>\n<pre><code>\nSet-Cookie: __Host-partitioned=value; Path=\/; Secure; SameSite=None; Partitioned\n      <\/pre>\n<p><\/code><\/p>\n<p>Yukar\u0131daki \u00f6rnekte <code>Partitioned<\/code> niteli\u011fi, \u00e7erezin CHIPS kurallar\u0131na g\u00f6re b\u00f6l\u00fcmlenmesini sa\u011flar.<\/p>\n<\/li>\n<li>\n      <strong>Storage Access API:<\/strong> Bu API, g\u00f6m\u00fcl\u00fc \u00fc\u00e7\u00fcnc\u00fc taraf i\u00e7eri\u011fin (iframe'ler gibi) birinci taraf \u00e7erezlerine eri\u015fim izni istemesine olanak tan\u0131r. Kullan\u0131c\u0131, bu eri\u015fime izin verdi\u011finde, \u00fc\u00e7\u00fcnc\u00fc taraf i\u00e7eri\u011fin kendi \u00e7erezlerine eri\u015fmesine izin verilir. Bu, gizlili\u011fi korurken, kullan\u0131c\u0131ya kontroll\u00fc bir \u015fekilde siteler aras\u0131 kimlik do\u011frulama gibi i\u015flevsellikleri etkinle\u015ftirme imkan\u0131 sunar.<\/li>\n<li>\n      <strong>Federated Credential Management (FedCM):<\/strong> Tekli oturum a\u00e7ma (SSO) senaryolar\u0131 i\u00e7in \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezlere ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 azaltmay\u0131 hedefleyen bir ba\u015fka Privacy Sandbox giri\u015fimidir. Bu, kullan\u0131c\u0131lar\u0131n web genelinde kimliklerini korurken sitelere giri\u015f yapmalar\u0131n\u0131 sa\u011flayan gizlilik dostu bir API'dir.<\/li>\n<\/ul>\n<p>Bu alternatifler, \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezlerin gelecekteki yoklu\u011funda web'in i\u015flevselli\u011fini s\u00fcrd\u00fcrmek i\u00e7in kritik \u00f6neme sahiptir. Geli\u015ftiricilerin bu yeni API'leri ve yakla\u015f\u0131mlar\u0131 yak\u0131ndan takip etmesi ve uygulamalar\u0131na entegre etmeye ba\u015flamas\u0131 gerekmektedir.<\/p>\n<h3>Taray\u0131c\u0131 Uyumlulu\u011fu ve Mobil Geli\u015ftirme \u0130pu\u00e7lar\u0131<\/h3>\n<p>Taray\u0131c\u0131 uyumlulu\u011fu, web geli\u015ftirmede her zaman bir zorluk olmu\u015ftur ve \u00e7erez politikalar\u0131 da bir istisna de\u011fildir. \u00d6zellikle eski taray\u0131c\u0131lar (\u00f6rne\u011fin, SameSite niteli\u011fini desteklemeyenler) veya farkl\u0131 mobil taray\u0131c\u0131lar, bu yeni g\u00fcvenlik \u00f6nlemlerini farkl\u0131 \u015fekillerde yorumlayabilir veya hi\u00e7 desteklemeyebilir. Bu nedenle, uygulamalar\u0131n\u0131z\u0131 geli\u015ftirirken geni\u015f bir taray\u0131c\u0131 yelpazesini d\u00fc\u015f\u00fcnmek zorundas\u0131n\u0131z.<\/p>\n<ul>\n<li>\n      <strong>Kademeli Geli\u015ftirme (Progressive Enhancement):<\/strong> Her zaman oldu\u011fu gibi, web uygulamalar\u0131n\u0131z\u0131 en temel i\u015flevsellik i\u00e7in bile g\u00fcvenli olacak \u015fekilde tasarlay\u0131n. Modern taray\u0131c\u0131larda SameSite gibi ek g\u00fcvenlik \u00f6zelliklerinden faydalan\u0131n, ancak bu \u00f6zelliklerin mevcut olmad\u0131\u011f\u0131 durumlarda da uygulaman\u0131z\u0131n temel d\u00fczeyde korunmas\u0131n\u0131 sa\u011flay\u0131n (\u00f6rne\u011fin, CSRF tokenlar\u0131n\u0131 kullanmaya devam edin).\n    <\/li>\n<li>\n      <strong>Kapsaml\u0131 Testler:<\/strong> Uygulamalar\u0131n\u0131z\u0131 Chrome, Firefox, Safari, Edge gibi farkl\u0131 taray\u0131c\u0131larda ve \u00e7e\u015fitli mobil cihazlarda test edin. <code>SameSite<\/code> \u00e7erezlerinin bekledi\u011finiz gibi \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in taray\u0131c\u0131 geli\u015ftirici ara\u00e7lar\u0131n\u0131 kullan\u0131n.\n    <\/li>\n<li>\n      <strong><code>Secure<\/code> Bayra\u011f\u0131n\u0131 Unutmay\u0131n:<\/strong> T\u00fcm hassas \u00e7erezleriniz (oturum, kimlik do\u011frulama \u00e7erezleri) i\u00e7in her zaman <code>Secure<\/code> bayra\u011f\u0131n\u0131 kullan\u0131n. Bu, \u00e7erezlerin yaln\u0131zca HTTPS ba\u011flant\u0131lar\u0131 \u00fczerinden g\u00f6nderilmesini sa\u011flar ve man-in-the-middle sald\u0131r\u0131lar\u0131na kar\u015f\u0131 koruma sa\u011flar.\n    <\/li>\n<li>\n      <strong><code>HttpOnly<\/code> Bayra\u011f\u0131:<\/strong> Oturum \u00e7erezleri gibi client-side JavaScript eri\u015fimi gerektirmeyen \u00e7erezler i\u00e7in <code>HttpOnly<\/code> bayra\u011f\u0131n\u0131 kullan\u0131n. Bu, XSS (Cross-Site Scripting) sald\u0131r\u0131lar\u0131 durumunda sald\u0131rgan\u0131n \u00e7erezinize JavaScript \u00fczerinden eri\u015fmesini engeller.\n    <\/li>\n<\/ul>\n<p><strong>Responsive Tasar\u0131m ve \u00c7erez Y\u00f6netimi:<\/strong> Mobil cihazlarda da taray\u0131c\u0131lar\u0131n SameSite politikalar\u0131 ge\u00e7erlidir. Ancak, kullan\u0131c\u0131 deneyimini etkileyebilecek farkl\u0131 mobil taray\u0131c\u0131lar\u0131n (WebView, \u00f6zel taray\u0131c\u0131lar vb.) davran\u0131\u015flar\u0131n\u0131 g\u00f6z \u00f6n\u00fcnde bulundurmal\u0131s\u0131n\u0131z. CSS media query'ler arac\u0131l\u0131\u011f\u0131yla uygulaman\u0131z\u0131n mobil uyumlulu\u011funu sa\u011flarken, \u00e7erezlerin arka plandaki y\u00f6netiminin de sa\u011flam oldu\u011fundan emin olun.<\/p>\n<pre><code class=\"language-html\">\n<style>\n  \/* Genel stiller *\/\n  body {\n    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n    line-height: 1.6;\n    margin: 0;\n    padding: 20px;\n    background-color: #f4f7f6;\n    color: #333;\n  }\n\n  .container {\n    max-width: 960px;\n    margin: 0 auto;\n    background-color: #fff;\n    padding: 30px;\n    box-shadow: 0 0 15px rgba(0,0,0,0.1);\n    border-radius: 8px;\n  }\n\n  h2, h3 {\n    color: #0056b3;\n  }\n\n  p {\n    margin-bottom: 1em;\n  }\n\n  \/* Mobil cihazlar i\u00e7in \u00f6zel stiller *\/\n  @media (max-width: 768px) {\n    .container {\n      padding: 15px;\n      margin: 10px;\n    }\n    h2 {\n      font-size: 1.6em;\n    }\n    h3 {\n      font-size: 1.3em;\n    }\n    .expert-tip {\n      font-size: 0.9em;\n      padding: 10px;\n    }\n    body {\n      padding: 10px;\n    }\n  }\n\n  \/* Ekran geni\u015fli\u011fi 480px'ten k\u00fc\u00e7\u00fck cihazlar i\u00e7in *\/\n  @media (max-width: 480px) {\n    h2 {\n      font-size: 1.4em;\n    }\n    h3 {\n      font-size: 1.1em;\n    }\n  }\n<\/style>\n<div class=\"container\">\n  <h2>Mobil Uygulamalarda \u00c7erez G\u00fcvenli\u011fi<\/h2>\n  <p>Mobil web uygulamalar\u0131 geli\u015ftirirken, \u00e7erezlerin y\u00f6netiminin masa\u00fcst\u00fc taray\u0131c\u0131lardakine benzer \u015fekilde g\u00fcvenli oldu\u011fundan emin olmal\u0131y\u0131z. \u00d6zellikle, <code>SameSite<\/code> niteli\u011fi ve <code>Secure<\/code> bayra\u011f\u0131n\u0131n do\u011fru kullan\u0131m\u0131 mobil platformlarda da hayati \u00f6neme sahiptir.<\/p>\n  <aside class=\"expert-tip\">\n    Uzman \u0130pucu: Taray\u0131c\u0131lar\u0131n <code>SameSite<\/code> varsay\u0131lan davran\u0131\u015flar\u0131n\u0131 d\u00fczenli olarak kontrol edin, \u00e7\u00fcnk\u00fc bu davran\u0131\u015flar zamanla de\u011fi\u015febilir ve farkl\u0131 taray\u0131c\u0131larda farkl\u0131l\u0131k g\u00f6sterebilir. \u00d6zellikle mobil testlerinize \u00f6nem verin.\n  <\/aside>\n<\/div>\n  <\/pre>\n<p><\/code><\/p>\n<p>Yukar\u0131daki CSS \u00f6rne\u011fi, responsive tasar\u0131m\u0131n temelini g\u00f6steriyor. Mobil cihazlarda metin boyutlar\u0131n\u0131 ve dolgular\u0131 ayarlayarak daha iyi bir okunabilirlik ve kullan\u0131m kolayl\u0131\u011f\u0131 sa\u011flan\u0131r. G\u00fcvenlik a\u00e7\u0131s\u0131ndan ise, geli\u015ftiriciler mobil taray\u0131c\u0131lar\u0131n \u00e7erezleri nas\u0131l i\u015fledi\u011fini ve API'lere nas\u0131l eri\u015fti\u011fini iyi anlamal\u0131d\u0131r.<\/p>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<h3>\u00d6zet: G\u00fcvenli\u011fin ve Kullan\u0131c\u0131 Deneyiminin Keskin Dengesi<\/h3>\n<p>Web d\u00fcnyas\u0131, gizlili\u011fe y\u00f6nelik artan talepler ve siber g\u00fcvenlik tehditlerinin evrimiyle s\u00fcrekli bir de\u011fi\u015fim i\u00e7inde. CSRF sald\u0131r\u0131lar\u0131n\u0131n potansiyel tehlikesi, \u00e7erezlerin web \u00fczerindeki merkezi rol\u00fcn\u00fc ve bu rol\u00fcn getirdi\u011fi g\u00fcvenlik sorumluluklar\u0131n\u0131 a\u00e7\u0131k\u00e7a ortaya koyuyor. Taray\u0131c\u0131lar\u0131n \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezleri engelleme karar\u0131 ve <code>SameSite<\/code> \u00e7erez niteli\u011finin varsay\u0131lan davran\u0131\u015f\u0131ndaki de\u011fi\u015fiklik, bu sorumlulu\u011fu geli\u015ftiricilerle payla\u015farak web'i daha g\u00fcvenli bir yer haline getirme yolunda \u00f6nemli bir ad\u0131md\u0131r.<\/p>\n<p>\u00d6zellikle <code>SameSite=Lax<\/code>'\u0131n varsay\u0131lan hale gelmesi, bir\u00e7ok CSRF sald\u0131r\u0131s\u0131 senaryosunu do\u011fal olarak engelleyerek geli\u015ftiricilerin y\u00fck\u00fcn\u00fc hafifletmi\u015ftir. Ancak bu, geleneksel CSRF tokenleri gibi ek koruma mekanizmalar\u0131n\u0131 tamamen g\u00f6z ard\u0131 etmemiz gerekti\u011fi anlam\u0131na gelmez. \u00d6zellikle <code>SameSite=None; Secure<\/code> kullan\u0131lmas\u0131 gereken siteler aras\u0131 etkile\u015fimlerde veya eski taray\u0131c\u0131 uyumlulu\u011fu i\u00e7in bu ek \u00f6nlemler kritik \u00f6nem ta\u015f\u0131r.<\/p>\n<p>Gelecekte, Privacy Sandbox giri\u015fimleri (CHIPS, Storage Access API, FedCM) gibi yeni teknolojiler, \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezlerin olmad\u0131\u011f\u0131 bir d\u00fcnyada bile web'in i\u015flevselli\u011fini ve yenilik\u00e7ili\u011fini s\u00fcrd\u00fcrmeyi hedefliyor. Geli\u015ftiricilerin, bu de\u011fi\u015fiklikleri yak\u0131ndan takip etmesi, uygulamalar\u0131n\u0131 bu yeni standartlara g\u00f6re optimize etmesi ve kullan\u0131c\u0131 gizlili\u011fini her zaman \u00f6nceliklendirmesi gerekmektedir. Sonu\u00e7 olarak, g\u00fcvenli bir web, yaln\u0131zca teknolojik geli\u015fmelere de\u011fil, ayn\u0131 zamanda geli\u015ftiricilerin bilin\u00e7li ve sorumlu yakla\u015f\u0131mlar\u0131na da ba\u011fl\u0131d\u0131r.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<ul>\n<li>\n      <strong>S1: SameSite=Lax, CSRF'ye kar\u015f\u0131 her zaman yeterli mi?<\/strong><br \/>\n      <strong>C1:<\/strong> Genellikle evet, \u00f6zellikle \u00e7o\u011fu POST iste\u011fi i\u00e7in yeterli ve g\u00fc\u00e7l\u00fc bir koruma sa\u011flar. Modern taray\u0131c\u0131lar, siteler aras\u0131 POST isteklerinde <code>SameSite=Lax<\/code> ile i\u015faretlenmi\u015f \u00e7erezleri g\u00f6ndermez. Ancak, baz\u0131 \u00f6zel durumlarda (\u00f6rne\u011fin, kullan\u0131c\u0131y\u0131 hassas bir i\u015flemi otomatik olarak tetikleyen bir GET iste\u011fine t\u0131klatmaya ikna etmek), ek \u00f6nlemler (CSRF tokenlar\u0131) yine de gerekli olabilir. En iyi uygulama, hassas i\u015flemler i\u00e7in her zaman CSRF token kullanmakt\u0131r.\n    <\/li>\n<li>\n      <strong>S2: \u00dc\u00e7\u00fcnc\u00fc taraf \u00e7erez engellemesi, t\u00fcm web uygulamalar\u0131n\u0131 nas\u0131l etkiliyor?<\/strong><br \/>\n      <strong>C2:<\/strong> \u00d6zellikle \u00fc\u00e7\u00fcnc\u00fc taraf entegrasyonlar\u0131 (SSO, reklam, izleme, g\u00f6m\u00fcl\u00fc widget'lar) kullanan uygulamalar\u0131 etkiler. Bu entegrasyonlar, kullan\u0131c\u0131 oturumlar\u0131n\u0131 veya kimliklerini siteler aras\u0131nda ta\u015f\u0131mak i\u00e7in \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezlere ba\u011f\u0131ml\u0131 olabilir. Geli\u015ftiricilerin bu entegrasyonlar i\u00e7in alternatif kimlik do\u011frulama\/veri aktar\u0131m y\u00f6ntemleri (\u00f6rn. CHIPS, Storage Access API, server-side entegrasyonlar veya FedCM) kullanmas\u0131 veya mevcut \u00e7\u00f6z\u00fcmlerini g\u00fcncellemesi gerekir.\n    <\/li>\n<li>\n      <strong>S3: Eski taray\u0131c\u0131larda SameSite deste\u011fi yoksa ne yapmal\u0131y\u0131m?<\/strong><br \/>\n      <strong>C3:<\/strong> Eski taray\u0131c\u0131lar i\u00e7in <code>SameSite<\/code> niteli\u011fi g\u00f6z ard\u0131 edilece\u011fi i\u00e7in, CSRF token gibi geleneksel CSRF koruma y\u00f6ntemlerini kullanmaya devam etmelisiniz. Modern taray\u0131c\u0131lar\u0131n b\u00fcy\u00fck \u00e7o\u011funlu\u011fu <code>SameSite<\/code> deste\u011fine sahiptir, ancak geni\u015f bir kullan\u0131c\u0131 kitlesine ula\u015fan uygulamalar i\u00e7in geriye d\u00f6n\u00fck uyumluluk kritik olabilir. Taray\u0131c\u0131lar\u0131n <code>SameSite<\/code> davran\u0131\u015f\u0131n\u0131 test etmek i\u00e7in ara\u00e7lar mevcuttur.\n    <\/li>\n<li>\n      <strong>S4: <code>SameSite=None<\/code> kullanmak ne zaman g\u00fcvenlidir?<\/strong><br \/>\n      <strong>C4:<\/strong> Sadece <code>Secure<\/code> bayra\u011f\u0131 ile birlikte ve ger\u00e7ekten \u00fc\u00e7\u00fcnc\u00fc taraf bir ba\u011flamda \u00e7ereze ihtiyac\u0131n\u0131z oldu\u011funda (\u00f6rn. iframe i\u00e7inde \u00e7al\u0131\u015fan bir widget, siteler aras\u0131 SSO ak\u0131\u015flar\u0131) kullan\u0131lmas\u0131 \u00f6nerilir. Aksi takdirde, g\u00fcvenlik a\u00e7\u0131\u011f\u0131 riski ta\u015f\u0131r. <code>SameSite=None; Secure<\/code> kullan\u0131ld\u0131\u011f\u0131nda bile, bu \u00e7erezin g\u00f6nderildi\u011fi t\u00fcm istekler i\u00e7in ek CSRF token korumas\u0131 gibi di\u011fer g\u00fcvenlik \u00f6nlemlerinin uygulanmas\u0131 \u015fiddetle tavsiye edilir.\n    <\/li>\n<li>\n      <strong>S5: CHIPS (Cookies Having Independent Partitioned State) nedir ve ne i\u015fe yarar?<\/strong><br \/>\n      <strong>C5:<\/strong> CHIPS, \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezlerin her \u00fcst d\u00fczey site i\u00e7in ayr\u0131 ayr\u0131 depolanmas\u0131n\u0131 sa\u011flayan yeni bir \u00f6zelliktir. Bu sayede, <code>ad.com<\/code> bir sitede (<code>siteA.com<\/code>) \u00e7erez b\u0131rakt\u0131\u011f\u0131nda, bu \u00e7erez sadece <code>siteA.com<\/code> ba\u011flam\u0131nda ge\u00e7erli olur ve <code>siteB.com<\/code>'da \u00e7al\u0131\u015fan <code>ad.com<\/code>'un \u00e7erezine eri\u015femez. Bu, \u00e7apraz site takibi engellenirken, \u00fc\u00e7\u00fcnc\u00fc taraf entegrasyonlar\u0131n\u0131n (\u00f6rn. g\u00f6m\u00fcl\u00fc bir harita veya sohbet widget'\u0131) i\u015flevselli\u011fi korunur, \u00e7\u00fcnk\u00fc bu hizmetler kendi ba\u011flamlar\u0131nda hala \u00e7erezlerini kullanabilirler. CHIPS, gelecekte \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezleri tamamen a\u015famal\u0131 olarak kald\u0131r\u0131rken, web'in temel i\u015flevselli\u011fini s\u00fcrd\u00fcrmek i\u00e7in kritik bir Privacy Sandbox \u00e7\u00f6z\u00fcm\u00fcd\u00fcr.\n    <\/li>\n<\/ul>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Web d\u00fcnyas\u0131, her ge\u00e7en g\u00fcn daha karma\u015f\u0131k hale gelen g\u00fcvenlik tehditleriyle dolu. \u00d6zellikle kullan\u0131c\u0131 verilerinin gizlili\u011fi ve g\u00fcvenli\u011fi,&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-32019","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>CSRF ve \u00dc\u00e7\u00fcnc\u00fc Taraf \u00c7erez Engellemesi: Taray\u0131c\u0131 G\u00fcvenli\u011fine Derin Bak\u0131\u015f<\/title>\n<meta name=\"description\" content=\"Web d\u00fcnyas\u0131, her ge\u00e7en g\u00fcn daha karma\u015f\u0131k hale gelen g\u00fcvenlik tehditleriyle dolu. \u00d6zellikle kullan\u0131c\u0131 verilerinin gizlili\u011fi ve g\u00fcvenli\u011fi, modern internetin en kritik ba\u015fl\u0131klar\u0131ndan biri. Bu makalede, bir CSRF (Cross-Site Request Forgery) vakas\u0131 \u00fczerinden, taray\u0131c\u0131lar\u0131n \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezleri engelleme stratejilerinin web g\u00fcvenli\u011fini nas\u0131l yeniden \u015fekillendirdi\u011fini ve geli\u015ftiricilerin bu yeni d\u00fczenlemelere nas\u0131l adapte olmas\u0131 gerekti\u011fini detayl\u0131ca inceleyece\u011fiz. Hedefimiz, bu teknik karma\u015fay\u0131 herkesin anlayabilece\u011fi samimi ama profesyonel bir dille a\u00e7\u0131klamak.\" \/>\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\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CSRF ve \u00dc\u00e7\u00fcnc\u00fc Taraf \u00c7erez Engellemesi: Taray\u0131c\u0131 G\u00fcvenli\u011fine Derin Bak\u0131\u015f\" \/>\n<meta property=\"og:description\" content=\"Web d\u00fcnyas\u0131, her ge\u00e7en g\u00fcn daha karma\u015f\u0131k hale gelen g\u00fcvenlik tehditleriyle dolu. \u00d6zellikle kullan\u0131c\u0131 verilerinin gizlili\u011fi ve g\u00fcvenli\u011fi, modern internetin en kritik ba\u015fl\u0131klar\u0131ndan biri. Bu makalede, bir CSRF (Cross-Site Request Forgery) vakas\u0131 \u00fczerinden, taray\u0131c\u0131lar\u0131n \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezleri engelleme stratejilerinin web g\u00fcvenli\u011fini nas\u0131l yeniden \u015fekillendirdi\u011fini ve geli\u015ftiricilerin bu yeni d\u00fczenlemelere nas\u0131l adapte olmas\u0131 gerekti\u011fini detayl\u0131ca inceleyece\u011fiz. Hedefimiz, bu teknik karma\u015fay\u0131 herkesin anlayabilece\u011fi samimi ama profesyonel bir dille a\u00e7\u0131klamak.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-16T17:31:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/banka.com\/transfer?alici=TR987654321&miktar=5000\" \/>\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=\"25 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"CSRF ve \u00dc\u00e7\u00fcnc\u00fc Taraf \u00c7erez Engellemesi: Taray\u0131c\u0131 G\u00fcvenli\u011fine Derin Bak\u0131\u015f\",\"datePublished\":\"2025-10-16T17:31:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/\"},\"wordCount\":4844,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"image\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/banka.com\/transfer?alici=TR987654321&miktar=5000\",\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/\",\"name\":\"CSRF ve \u00dc\u00e7\u00fcnc\u00fc Taraf \u00c7erez Engellemesi: Taray\u0131c\u0131 G\u00fcvenli\u011fine Derin Bak\u0131\u015f\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/banka.com\/transfer?alici=TR987654321&miktar=5000\",\"datePublished\":\"2025-10-16T17:31:47+00:00\",\"description\":\"Web d\u00fcnyas\u0131, her ge\u00e7en g\u00fcn daha karma\u015f\u0131k hale gelen g\u00fcvenlik tehditleriyle dolu. \u00d6zellikle kullan\u0131c\u0131 verilerinin gizlili\u011fi ve g\u00fcvenli\u011fi, modern internetin en kritik ba\u015fl\u0131klar\u0131ndan biri. Bu makalede, bir CSRF (Cross-Site Request Forgery) vakas\u0131 \u00fczerinden, taray\u0131c\u0131lar\u0131n \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezleri engelleme stratejilerinin web g\u00fcvenli\u011fini nas\u0131l yeniden \u015fekillendirdi\u011fini ve geli\u015ftiricilerin bu yeni d\u00fczenlemelere nas\u0131l adapte olmas\u0131 gerekti\u011fini detayl\u0131ca inceleyece\u011fiz. Hedefimiz, bu teknik karma\u015fay\u0131 herkesin anlayabilece\u011fi samimi ama profesyonel bir dille a\u00e7\u0131klamak.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/#primaryimage\",\"url\":\"https:\/\/banka.com\/transfer?alici=TR987654321&miktar=5000\",\"contentUrl\":\"https:\/\/banka.com\/transfer?alici=TR987654321&miktar=5000\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CSRF ve \u00dc\u00e7\u00fcnc\u00fc Taraf \u00c7erez Engellemesi: Taray\u0131c\u0131 G\u00fcvenli\u011fine Derin Bak\u0131\u015f\"}]},{\"@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":"CSRF ve \u00dc\u00e7\u00fcnc\u00fc Taraf \u00c7erez Engellemesi: Taray\u0131c\u0131 G\u00fcvenli\u011fine Derin Bak\u0131\u015f","description":"Web d\u00fcnyas\u0131, her ge\u00e7en g\u00fcn daha karma\u015f\u0131k hale gelen g\u00fcvenlik tehditleriyle dolu. \u00d6zellikle kullan\u0131c\u0131 verilerinin gizlili\u011fi ve g\u00fcvenli\u011fi, modern internetin en kritik ba\u015fl\u0131klar\u0131ndan biri. Bu makalede, bir CSRF (Cross-Site Request Forgery) vakas\u0131 \u00fczerinden, taray\u0131c\u0131lar\u0131n \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezleri engelleme stratejilerinin web g\u00fcvenli\u011fini nas\u0131l yeniden \u015fekillendirdi\u011fini ve geli\u015ftiricilerin bu yeni d\u00fczenlemelere nas\u0131l adapte olmas\u0131 gerekti\u011fini detayl\u0131ca inceleyece\u011fiz. Hedefimiz, bu teknik karma\u015fay\u0131 herkesin anlayabilece\u011fi samimi ama profesyonel bir dille a\u00e7\u0131klamak.","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\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/","og_locale":"tr_TR","og_type":"article","og_title":"CSRF ve \u00dc\u00e7\u00fcnc\u00fc Taraf \u00c7erez Engellemesi: Taray\u0131c\u0131 G\u00fcvenli\u011fine Derin Bak\u0131\u015f","og_description":"Web d\u00fcnyas\u0131, her ge\u00e7en g\u00fcn daha karma\u015f\u0131k hale gelen g\u00fcvenlik tehditleriyle dolu. \u00d6zellikle kullan\u0131c\u0131 verilerinin gizlili\u011fi ve g\u00fcvenli\u011fi, modern internetin en kritik ba\u015fl\u0131klar\u0131ndan biri. Bu makalede, bir CSRF (Cross-Site Request Forgery) vakas\u0131 \u00fczerinden, taray\u0131c\u0131lar\u0131n \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezleri engelleme stratejilerinin web g\u00fcvenli\u011fini nas\u0131l yeniden \u015fekillendirdi\u011fini ve geli\u015ftiricilerin bu yeni d\u00fczenlemelere nas\u0131l adapte olmas\u0131 gerekti\u011fini detayl\u0131ca inceleyece\u011fiz. Hedefimiz, bu teknik karma\u015fay\u0131 herkesin anlayabilece\u011fi samimi ama profesyonel bir dille a\u00e7\u0131klamak.","og_url":"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-16T17:31:47+00:00","og_image":[{"url":"https:\/\/banka.com\/transfer?alici=TR987654321&miktar=5000","type":"","width":"","height":""}],"author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"25 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"CSRF ve \u00dc\u00e7\u00fcnc\u00fc Taraf \u00c7erez Engellemesi: Taray\u0131c\u0131 G\u00fcvenli\u011fine Derin Bak\u0131\u015f","datePublished":"2025-10-16T17:31:47+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/"},"wordCount":4844,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"image":{"@id":"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/#primaryimage"},"thumbnailUrl":"https:\/\/banka.com\/transfer?alici=TR987654321&miktar=5000","inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/","url":"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/","name":"CSRF ve \u00dc\u00e7\u00fcnc\u00fc Taraf \u00c7erez Engellemesi: Taray\u0131c\u0131 G\u00fcvenli\u011fine Derin Bak\u0131\u015f","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/#primaryimage"},"image":{"@id":"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/#primaryimage"},"thumbnailUrl":"https:\/\/banka.com\/transfer?alici=TR987654321&miktar=5000","datePublished":"2025-10-16T17:31:47+00:00","description":"Web d\u00fcnyas\u0131, her ge\u00e7en g\u00fcn daha karma\u015f\u0131k hale gelen g\u00fcvenlik tehditleriyle dolu. \u00d6zellikle kullan\u0131c\u0131 verilerinin gizlili\u011fi ve g\u00fcvenli\u011fi, modern internetin en kritik ba\u015fl\u0131klar\u0131ndan biri. Bu makalede, bir CSRF (Cross-Site Request Forgery) vakas\u0131 \u00fczerinden, taray\u0131c\u0131lar\u0131n \u00fc\u00e7\u00fcnc\u00fc taraf \u00e7erezleri engelleme stratejilerinin web g\u00fcvenli\u011fini nas\u0131l yeniden \u015fekillendirdi\u011fini ve geli\u015ftiricilerin bu yeni d\u00fczenlemelere nas\u0131l adapte olmas\u0131 gerekti\u011fini detayl\u0131ca inceleyece\u011fiz. Hedefimiz, bu teknik karma\u015fay\u0131 herkesin anlayabilece\u011fi samimi ama profesyonel bir dille a\u00e7\u0131klamak.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/"]}]},{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/#primaryimage","url":"https:\/\/banka.com\/transfer?alici=TR987654321&miktar=5000","contentUrl":"https:\/\/banka.com\/transfer?alici=TR987654321&miktar=5000"},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/csrf-ve-ucuncu-taraf-cerez-engellemesi-tarayici-guvenligine-derin-bakis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"CSRF ve \u00dc\u00e7\u00fcnc\u00fc Taraf \u00c7erez Engellemesi: Taray\u0131c\u0131 G\u00fcvenli\u011fine Derin Bak\u0131\u015f"}]},{"@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\/32019","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=32019"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32019\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=32019"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=32019"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=32019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}