[{"id":325,"title":"Web Kimlik Do\u011frulama Temelleri","content":"<p>Bir web sitesine giri\u015f yapt\u0131\u011f\u0131nda seni &ldquo;tan\u0131yan&rdquo; sistemin nas\u0131l &ccedil;al\u0131\u015ft\u0131\u011f\u0131n\u0131 hi&ccedil; merak ettin mi?<br>&ldquo;Bu site beni nas\u0131l hat\u0131rl\u0131yor?&rdquo; veya &ldquo;G&uuml;venli bir oturum nas\u0131l sa\u011flan\u0131yor?&rdquo; sorular\u0131n\u0131n cevab\u0131 genellikle &uuml;&ccedil; yap\u0131n\u0131n i&ccedil;inde gizlidir: <strong>Cookie<\/strong>, <strong>Session<\/strong> ve <strong>Token<\/strong>.<\/p>\r\n<p>Bu yaz\u0131da, web d&uuml;nyas\u0131n\u0131n bu &uuml;&ccedil; kahraman\u0131n\u0131 sade bir dille &ouml;\u011frenelim.<\/p>\r\n<p><iframe src=\"https:\/\/www.youtube.com\/embed\/TMiLTv7BSXw\" width=\"560\" height=\"314\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\r\n<hr>\r\n<h3>Cookie &ndash; Taray\u0131c\u0131daki K&uuml;&ccedil;&uuml;k Haf\u0131za<\/h3>\r\n<p><strong>Cookie<\/strong>, web sitelerinin taray\u0131c\u0131nda k&uuml;&ccedil;&uuml;k veri par&ccedil;alar\u0131 saklamas\u0131na olanak tan\u0131r.<br>Bu veriler, her istekte otomatik olarak sunucuya g&ouml;nderilir.<\/p>\r\n<p><strong>Ne i\u015fe yarar?<\/strong><\/p>\r\n<ul>\r\n<li>\r\n<p>Giri\u015f yapt\u0131ktan sonra seni hat\u0131rlamas\u0131n\u0131 sa\u011flar.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Dil veya tema tercihlerini kaydeder.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Siteye tekrar girdi\u011finde ki\u015fiselle\u015ftirilmi\u015f bir deneyim sunar.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<p><strong>Avantajlar\u0131:<\/strong><\/p>\r\n<ul>\r\n<li>\r\n<p>Otomatik &ccedil;al\u0131\u015f\u0131r, kullan\u0131c\u0131dan ekstra bir i\u015flem gerekmez.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Basit uygulamalarda h\u0131zl\u0131 bir &ccedil;&ouml;z&uuml;m sunar.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<p><strong>Dikkat edilmesi gerekenler:<\/strong><\/p>\r\n<ul>\r\n<li>\r\n<p>G&uuml;venlik i&ccedil;in <code>HttpOnly<\/code>, <code>Secure<\/code> ve <code>SameSite<\/code> ayarlar\u0131n\u0131n yap\u0131lmas\u0131 gerekir.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Aksi halde &ccedil;erezler k&ouml;t&uuml; niyetli ki\u015filerce ele ge&ccedil;irilebilir.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<blockquote>\r\n<p><br>Cookie&rsquo;ler istemci (taray\u0131c\u0131) taraf\u0131nda sakland\u0131\u011f\u0131 i&ccedil;in, hassas bilgileri direkt i&ccedil;inde tutmak &ouml;nerilmez.<\/p>\r\n<\/blockquote>\r\n<hr>\r\n<h3>Session &ndash; Sunucu Taraf\u0131nda G&uuml;venli Oturum<\/h3>\r\n<p><strong>Session<\/strong>, kullan\u0131c\u0131ya ait verilerin <strong>sunucuda<\/strong> tutuldu\u011fu bir oturum y&ouml;netim sistemidir.<br>Taray\u0131c\u0131da yaln\u0131zca bir <strong>oturum kimli\u011fi (session ID)<\/strong> saklan\u0131r.<\/p>\r\n<p><strong>Nas\u0131l &ccedil;al\u0131\u015f\u0131r?<\/strong><\/p>\r\n<ol>\r\n<li>\r\n<p>Kullan\u0131c\u0131 giri\u015f yapt\u0131\u011f\u0131nda sunucu bir oturum olu\u015fturur.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Bu oturuma &ouml;zel bir ID &uuml;retir.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Taray\u0131c\u0131, bu ID&rsquo;yi cookie olarak saklar.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Her istekte bu ID sunucuya g&ouml;nderilir ve kullan\u0131c\u0131 do\u011frulan\u0131r.<\/p>\r\n<\/li>\r\n<\/ol>\r\n<p><strong>Avantajlar\u0131:<\/strong><\/p>\r\n<ul>\r\n<li>\r\n<p>Veriler taray\u0131c\u0131da de\u011fil, sunucuda sakland\u0131\u011f\u0131 i&ccedil;in g&uuml;venlidir.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Kullan\u0131c\u0131 bilgilerini do\u011frudan koruma alt\u0131na al\u0131r.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<p><strong>Dezavantaj\u0131:<\/strong><\/p>\r\n<ul>\r\n<li>\r\n<p>&Ouml;l&ccedil;eklendirme zordur. Birden fazla sunucuda ayn\u0131 session bilgisini payla\u015fmak gerekebilir.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<blockquote>\r\n<p>Bir e-ticaret sitesinde oturum a&ccedil;t\u0131ktan sonra sepetindeki &uuml;r&uuml;nlerin kaybolmamas\u0131n\u0131 sa\u011flayan mekanizma genellikle session&rsquo;d\u0131r.<\/p>\r\n<\/blockquote>\r\n<hr>\r\n<h3>Token (JWT) &ndash; Modern ve Ta\u015f\u0131nabilir Kimlik<\/h3>\r\n<p>Token yap\u0131s\u0131, &ouml;zellikle <strong>JWT (JSON Web Token)<\/strong> standard\u0131yla hayat\u0131m\u0131za girdi.<br>JWT, kullan\u0131c\u0131ya ait bilgileri i&ccedil;eren ve dijital olarak imzalanm\u0131\u015f bir veri yap\u0131s\u0131d\u0131r.<\/p>\r\n<p><strong>Nas\u0131l &ccedil;al\u0131\u015f\u0131r?<\/strong><\/p>\r\n<ul>\r\n<li>\r\n<p>Kullan\u0131c\u0131 giri\u015f yapt\u0131\u011f\u0131nda sunucu bir JWT &uuml;retir.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Bu token i&ccedil;inde kullan\u0131c\u0131 bilgileri (&ouml;rne\u011fin ID, rol, e-posta) \u015fifrelenmi\u015f \u015fekilde bulunur.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Token, istemci taraf\u0131nda saklan\u0131r ve her istekte sunucuya g&ouml;nderilir.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<p><strong>Avantajlar\u0131:<\/strong><\/p>\r\n<ul>\r\n<li>\r\n<p>&ldquo;Stateless&rdquo;tir yani sunucuda oturum bilgisi tutulmaz.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Mikroservis, API ve mobil uygulamalarda m&uuml;kemmel performans sa\u011flar.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<p><strong>Dikkat edilmesi gerekenler:<\/strong><\/p>\r\n<ul>\r\n<li>\r\n<p>Token&rsquo;\u0131n s&uuml;resi mutlaka belirlenmelidir (expiry).<\/p>\r\n<\/li>\r\n<li>\r\n<p>Refresh token sistemi kullan\u0131lmal\u0131d\u0131r.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Do\u011frulama i&ccedil;in imzalama (signature) mekanizmas\u0131 \u015fartt\u0131r.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<blockquote>\r\n<p><br>JWT, kimlik do\u011frulamada esneklik sa\u011flar. Her istekte kullan\u0131c\u0131 bilgilerini tekrar sorgulamaya gerek kalmaz.<\/p>\r\n<\/blockquote>\r\n<hr>\r\n<h3>Ne Zaman Hangisini Kullanmal\u0131y\u0131z?<\/h3>\r\n<p>Bu &uuml;&ccedil; y&ouml;ntem ayn\u0131 amaca hizmet eder: <strong>kullan\u0131c\u0131y\u0131 tan\u0131mak ve oturumu y&ouml;netmek.<\/strong><br>Ancak her birinin g&uuml;&ccedil;l&uuml; oldu\u011fu alan farkl\u0131d\u0131r:<\/p>\r\n<ul>\r\n<li>\r\n<p><strong>Klasik web siteleri<\/strong> (&ouml;rne\u011fin blog, haber sitesi): Cookie + Session<\/p>\r\n<\/li>\r\n<li>\r\n<p><strong>Mobil uygulamalar &amp; Mikroservisler:<\/strong> JWT (Token)<\/p>\r\n<\/li>\r\n<li>\r\n<p><strong>Karma sistemler:<\/strong> Hibrit modeller (&ouml;rne\u011fin session bilgisini JWT ile ta\u015f\u0131mak)<\/p>\r\n<\/li>\r\n<\/ul>\r\n<p>\ud83c\udf93 <strong>K\u0131sa &ouml;zet:<\/strong><\/p>\r\n<ul>\r\n<li>\r\n<p>Cookie: Taray\u0131c\u0131da k&uuml;&ccedil;&uuml;k veriler.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Session: Sunucuda g&uuml;venli oturum.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Token (JWT): Ba\u011f\u0131ms\u0131z ve ta\u015f\u0131nabilir kimlik do\u011frulama.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<h3>&nbsp;<\/h3>\r\n<p>Kimlik do\u011frulama sadece &ldquo;giri\u015f yapmak&rdquo; de\u011fildir.<br>Bu s&uuml;recin ard\u0131nda &ccedil;al\u0131\u015fan cookie, session ve token yap\u0131lar\u0131; modern web g&uuml;venli\u011finin temel ta\u015flar\u0131d\u0131r.<\/p>\r\n<p>Do\u011fru se&ccedil;imi yapmak hem kullan\u0131c\u0131 deneyimini hem de sistemin g&uuml;venli\u011fini do\u011frudan etkiler.<\/p>\r\n<ul>\r\n<li>\r\n<p>Basit web siteleri i&ccedil;in Cookie + Session yeterlidir.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Geni\u015f &ouml;l&ccedil;ekli API sistemleri i&ccedil;in JWT &ccedil;ok daha uygundur.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<p>&nbsp;<\/p>\r\n<p>Harika \ud83d\udc4d<br>\u0130\u015fte ayn\u0131 i&ccedil;eri\u011fin <strong>developer rehberi<\/strong> format\u0131na d&ouml;n&uuml;\u015ft&uuml;r&uuml;lm&uuml;\u015f, &ouml;\u011fretici, sade ama teknik olarak doyurucu versiyonu:<\/p>\r\n<hr>\r\n<h1>\ud83d\udc68&zwj;\ud83d\udcbb Developer Rehberi: Cookie mi? Session m\u0131? Token m\u0131?<\/h1>\r\n<p>Modern web geli\u015ftirmede <strong>kimlik do\u011frulama (authentication)<\/strong>, kullan\u0131c\u0131 g&uuml;venli\u011finin ve sistem b&uuml;t&uuml;nl&uuml;\u011f&uuml;n&uuml;n en kritik noktalar\u0131ndan biridir.<br>Bu s&uuml;re&ccedil;te en s\u0131k kar\u015f\u0131m\u0131za &ccedil;\u0131kan &uuml;&ccedil; temel yap\u0131 vard\u0131r: <strong>Cookie<\/strong>, <strong>Session<\/strong> ve <strong>Token (JWT)<\/strong>.<\/p>\r\n<p>Bu rehberde, her birinin nas\u0131l &ccedil;al\u0131\u015ft\u0131\u011f\u0131n\u0131, hangi durumda hangisini kullanman gerekti\u011fini ve aralar\u0131ndaki farklar\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz.<\/p>\r\n<hr>\r\n<h2>Cookie &ndash; Taray\u0131c\u0131 Tarafl\u0131 Depolama<\/h2>\r\n<p><strong>Cookie<\/strong>, web sunucusunun kullan\u0131c\u0131n\u0131n taray\u0131c\u0131s\u0131nda k&uuml;&ccedil;&uuml;k veri par&ccedil;alar\u0131 saklamas\u0131na izin veren mekanizmad\u0131r.<br>Taray\u0131c\u0131, her istekle birlikte bu verileri otomatik olarak sunucuya g&ouml;nderir.<\/p>\r\n<h3>Nas\u0131l &Ccedil;al\u0131\u015f\u0131r?<\/h3>\r\n<ol>\r\n<li>\r\n<p>Sunucu, istemciye bir cookie g&ouml;nderir.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Taray\u0131c\u0131 bu cookie&rsquo;yi saklar.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Ayn\u0131 alan ad\u0131na yap\u0131lan her istekte cookie otomatik olarak sunucuya eklenir.<\/p>\r\n<\/li>\r\n<\/ol>\r\n<h3>Avantajlar\u0131<\/h3>\r\n<ul>\r\n<li>\r\n<p>Kullan\u0131c\u0131 oturumu veya tercihleri kolayca hat\u0131rlanabilir.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Basit kimlik do\u011frulama i\u015flemleri i&ccedil;in uygundur.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<h3>Dikkat Edilmesi Gerekenler<\/h3>\r\n<ul>\r\n<li>\r\n<p>Cookie&rsquo;ler taray\u0131c\u0131da sakland\u0131\u011f\u0131 i&ccedil;in manip&uuml;lasyona a&ccedil;\u0131kt\u0131r.<\/p>\r\n<\/li>\r\n<li>\r\n<p>G&uuml;venlik i&ccedil;in \u015fu parametreler <strong>mutlaka<\/strong> kullan\u0131lmal\u0131d\u0131r:<\/p>\r\n<ul>\r\n<li>\r\n<p><code>HttpOnly<\/code>: JavaScript eri\u015fimini engeller.<\/p>\r\n<\/li>\r\n<li>\r\n<p><code>Secure<\/code>: Sadece HTTPS &uuml;zerinden g&ouml;nderilmesini sa\u011flar.<\/p>\r\n<\/li>\r\n<li>\r\n<p><code>SameSite<\/code>: Cross-Site Request Forgery (CSRF) riskini azalt\u0131r.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<\/li>\r\n<\/ul>\r\n<h3>&nbsp;<\/h3>\r\n<blockquote>\r\n<p>Kullan\u0131c\u0131n\u0131n dil tercihini veya oturum ID&rsquo;sini saklamak gibi basit senaryolarda idealdir.<\/p>\r\n<\/blockquote>\r\n<hr>\r\n<h2>Session &ndash; Sunucu Tarafl\u0131 Oturum Y&ouml;netimi<\/h2>\r\n<p><strong>Session<\/strong>, kullan\u0131c\u0131n\u0131n kimlik bilgilerini <strong>sunucu taraf\u0131nda<\/strong> saklayan bir yap\u0131d\u0131r.<br>Taray\u0131c\u0131da yaln\u0131zca oturumu temsil eden bir <strong>session ID<\/strong> bulunur.<\/p>\r\n<h3>Nas\u0131l &Ccedil;al\u0131\u015f\u0131r?<\/h3>\r\n<ol>\r\n<li>\r\n<p>Kullan\u0131c\u0131 giri\u015f yapt\u0131\u011f\u0131nda sunucu bir session olu\u015fturur.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Sunucu bu session&rsquo;a bir ID atar.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Bu ID, taray\u0131c\u0131ya cookie olarak g&ouml;nderilir.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Taray\u0131c\u0131 her istekte bu ID&rsquo;yi sunucuya yollar, sunucu ilgili oturumu bulur.<\/p>\r\n<\/li>\r\n<\/ol>\r\n<h3>Avantajlar\u0131<\/h3>\r\n<ul>\r\n<li>\r\n<p>Kullan\u0131c\u0131 bilgileri sunucuda sakland\u0131\u011f\u0131 i&ccedil;in g&uuml;venlidir.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Oturum verileri kolayca y&ouml;netilebilir ve g&uuml;ncellenebilir.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<h3>Dikkat Edilmesi Gerekenler<\/h3>\r\n<ul>\r\n<li>\r\n<p>&Ouml;l&ccedil;eklendirme (load balancing) durumunda session verisinin payla\u015f\u0131lmas\u0131 gerekir (&ouml;rne\u011fin Redis veya Memcached ile).<\/p>\r\n<\/li>\r\n<li>\r\n<p>Her kullan\u0131c\u0131 i&ccedil;in sunucu belle\u011finde alan ayr\u0131ld\u0131\u011f\u0131 i&ccedil;in yo\u011fun trafikte y&uuml;k olu\u015fturabilir.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<h3>&nbsp;<\/h3>\r\n<blockquote>\r\n<p>Klasik web uygulamalar\u0131, CMS yap\u0131lar\u0131 (&ouml;r. WordPress, Laravel admin panelleri) gibi &ldquo;oturum tabanl\u0131&rdquo; sistemler i&ccedil;in uygundur.<\/p>\r\n<\/blockquote>\r\n<hr>\r\n<h2>Token (JWT) &ndash; Stateless ve Ta\u015f\u0131nabilir Kimlik Do\u011frulama<\/h2>\r\n<p><strong>JWT (JSON Web Token)<\/strong>, kullan\u0131c\u0131 bilgilerini i&ccedil;eren, imzalanm\u0131\u015f (ve iste\u011fe ba\u011fl\u0131 olarak \u015fifrelenmi\u015f) bir JSON nesnesidir.<br>Sunucu, oturum bilgisini saklamak zorunda kalmaz. Her istekte token, kimli\u011fi do\u011frulamak i&ccedil;in yeterlidir.<\/p>\r\n<h3>Nas\u0131l &Ccedil;al\u0131\u015f\u0131r?<\/h3>\r\n<ol>\r\n<li>\r\n<p>Kullan\u0131c\u0131 giri\u015f yapt\u0131\u011f\u0131nda sunucu bir JWT &uuml;retir.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Token, kullan\u0131c\u0131 kimli\u011fi ve izin bilgilerini i&ccedil;erir.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Token, taray\u0131c\u0131da veya mobil uygulamada saklan\u0131r (genellikle <code>localStorage<\/code> veya <code>Authorization<\/code> header&rsquo;\u0131nda).<\/p>\r\n<\/li>\r\n<li>\r\n<p>Her API iste\u011finde token sunucuya g&ouml;nderilir.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Sunucu, token&rsquo;\u0131n imzas\u0131n\u0131 do\u011frular ve kimli\u011fi tan\u0131r.<\/p>\r\n<\/li>\r\n<\/ol>\r\n<h3>Avantajlar\u0131<\/h3>\r\n<ul>\r\n<li>\r\n<p>&ldquo;Stateless&rdquo; yap\u0131 sayesinde y&uuml;ksek performans sa\u011flar.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Mikroservis ve API mimarileri i&ccedil;in m&uuml;kemmel uyumludur.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Sunucu taraf\u0131nda oturum bilgisi saklanmaz, bu da &ouml;l&ccedil;eklenebilirli\u011fi art\u0131r\u0131r.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<h3>Dikkat Edilmesi Gerekenler<\/h3>\r\n<ul>\r\n<li>\r\n<p>Token mutlaka <strong>s&uuml;reli (expiry)<\/strong> olmal\u0131d\u0131r.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Yenileme i&ccedil;in <strong>refresh token<\/strong> mekanizmas\u0131 kullan\u0131lmal\u0131d\u0131r.<\/p>\r\n<\/li>\r\n<li>\r\n<p>G&uuml;venlik i&ccedil;in <strong>public\/private key<\/strong> ile imzalama tercih edilmelidir.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<h3>Kullan\u0131m Senaryosu<\/h3>\r\n<p>Mobil uygulamalar, SPA&rsquo;lar (React, Vue, Angular) ve mikroservis tabanl\u0131 sistemlerde idealdir.<\/p>\r\n<hr>\r\n<h2>Ne Zaman Kullanmal\u0131?<\/h2>\r\n<table>\r\n<thead>\r\n<tr>\r\n<th>Uygulama T&uuml;r&uuml;<\/th>\r\n<th>&Ouml;nerilen Y&ouml;ntem<\/th>\r\n<th>Neden<\/th>\r\n<\/tr>\r\n<\/thead>\r\n<tbody>\r\n<tr>\r\n<td>Klasik web sitesi (PHP, ASP, Django)<\/td>\r\n<td>Cookie + Session<\/td>\r\n<td>Basit, g&uuml;venli ve sunucu kontroll&uuml;<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Mobil \/ SPA uygulamalar\u0131<\/td>\r\n<td>JWT<\/td>\r\n<td>Stateless, performansl\u0131<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Mikroservis yap\u0131lar\u0131<\/td>\r\n<td>JWT<\/td>\r\n<td>Servisler aras\u0131 kimlik payla\u015f\u0131m\u0131 kolay<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Karma sistemler<\/td>\r\n<td>Hybrid (Session + Token)<\/td>\r\n<td>Esnek yap\u0131, farkl\u0131 istemcilere uygun<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<hr>\r\n<h2>&nbsp;<\/h2>\r\n<table>\r\n<thead>\r\n<tr>\r\n<th>Yap\u0131<\/th>\r\n<th>Saklama Yeri<\/th>\r\n<th>G&uuml;venlik<\/th>\r\n<th>Performans<\/th>\r\n<th>Uygun Oldu\u011fu Senaryolar<\/th>\r\n<\/tr>\r\n<\/thead>\r\n<tbody>\r\n<tr>\r\n<td>Cookie<\/td>\r\n<td>Taray\u0131c\u0131<\/td>\r\n<td>D&uuml;\u015f&uuml;k (ek ayarlarla art\u0131r\u0131labilir)<\/td>\r\n<td>Y&uuml;ksek<\/td>\r\n<td>Basit tercih saklama<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Session<\/td>\r\n<td>Sunucu<\/td>\r\n<td>Y&uuml;ksek<\/td>\r\n<td>Orta<\/td>\r\n<td>Web oturumlar\u0131<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>JWT<\/td>\r\n<td>\u0130stemci<\/td>\r\n<td>Orta (do\u011fru imzalama ile y&uuml;ksek)<\/td>\r\n<td>Y&uuml;ksek<\/td>\r\n<td>API &amp; Mobil uygulamalar<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<hr>\r\n<h2>Geli\u015ftirici \u0130&ccedil;in &Ouml;neriler<\/h2>\r\n<ul>\r\n<li>\r\n<p>Cookie veya Session kullan\u0131yorsan mutlaka <strong>CSRF korumas\u0131<\/strong> ekle.<\/p>\r\n<\/li>\r\n<li>\r\n<p>JWT kullan\u0131yorsan token s&uuml;relerini iyi ayarla ve <strong>refresh mekanizmas\u0131n\u0131<\/strong> unutma.<\/p>\r\n<\/li>\r\n<li>\r\n<p>API geli\u015ftiriyorsan <code>Authorization: Bearer <\/code> standard\u0131n\u0131 uygula.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Kullan\u0131c\u0131 verilerini <strong>asla taray\u0131c\u0131da d&uuml;z metin olarak saklama.<\/strong><\/p>\r\n<\/li>\r\n<\/ul>\r\n<hr>\r\n<p>Kimlik do\u011frulama stratejisi, projenin yap\u0131s\u0131na g&ouml;re de\u011fi\u015fir.<br>E\u011fer tek sunuculu bir web projesi yap\u0131yorsan <strong>Session tabanl\u0131<\/strong>,<br>mikroservis veya mobil odakl\u0131 bir sistem geli\u015ftiriyorsan <strong>JWT tabanl\u0131<\/strong> yap\u0131 senin i&ccedil;in daha do\u011fru olacakt\u0131r.<\/p>\r\n<p>Do\u011fru yap\u0131 se&ccedil;imi:<\/p>\r\n<ul>\r\n<li>\r\n<p>G&uuml;venli\u011fi art\u0131r\u0131r,<\/p>\r\n<\/li>\r\n<li>\r\n<p>Performans\u0131 optimize eder,<\/p>\r\n<\/li>\r\n<li>\r\n<p>Ve sistem mimarisini uzun vadede s&uuml;rd&uuml;r&uuml;lebilir k\u0131lar.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<hr>\r\n<p>\ud83d\udd10 G&uuml;venli bir sistem, sadece g&uuml;&ccedil;l&uuml; parolalarla de\u011fil, do\u011fru&nbsp;<strong>kimlik do\u011frulama stratejisiyle<\/strong> ba\u015flar.<\/p>\r\n<hr>\r\n<p>&nbsp;<\/p>","excerpt":"Bir web sitesine giri\u015f yapt\u0131\u011f\u0131nda seni \u201ctan\u0131yan\u201d sistemin nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 hi\u00e7 merak ettin mi?","created_at":"2025-10-24 10:02:17","updated_at":"2026-09-07 23:22:30","category_id":9,"view_count":519,"reading_time":8,"status":"published","editor_choice":0,"is_editor_choice":0,"published_at":"2025-10-24 10:02:00","featured_image":"resimyok.jpg","slug":"web-kimlik-dogrulama-temelleri","category_name":"Yaz\u0131l\u0131m","category_slug":"yazilim","category_color":"#ef4444"}]