﻿
{"id":4076,"date":"2016-04-19T22:19:56","date_gmt":"2016-04-19T22:19:56","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=4076"},"modified":"2016-04-19T22:19:56","modified_gmt":"2016-04-19T22:19:56","slug":"asp-net-cookie-kullanimi","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/asp-net-cookie-kullanimi\/","title":{"rendered":"Asp.NET Cookie Kullan\u0131m\u0131"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p>Bu yaz\u0131m\u0131zda web projelerinde y\u0131llarca kullan\u0131lan Cookie yap\u0131s\u0131na de\u011finece\u011fim. Bunca zamand\u0131r bu yap\u0131 \u00fczerine i\u00e7erik olu\u015fturmamam\u0131n sebebi san\u0131r\u0131m fazla \u00f6nemli olmamas\u0131 ve kullan\u0131m a\u00e7\u0131s\u0131ndan zorluk arz etmemesinden kaynaklanmaktad\u0131r. Halbuki \u015fimdi bu konuyla ilgili i\u00e7eri\u011fe niyetlenmemin sebebi ise ilgili yap\u0131 \u00fczerine bir ka\u00e7 sorgu sual gelmesinden kaynaklanmaktad\u0131r.<\/p>\n<h3>Cookie(\u00c7erez) Nedir?<\/h3>\n<p>Cookie; client(istemci) taraf\u0131nda bar\u0131nd\u0131r\u0131lan ve i\u00e7erisinde belirli bilgileri d\u00fcz metin olarak tutan k\u00fc\u00e7\u00fck boyutlu dosyalard\u0131r. Sunucu taraf\u0131ndan g\u00f6nderilen \u00e7erezler, istemci taraf\u0131na kaydedilmektedir. Haliyle sayfaya belirli bir s\u00fcre sonra girildi\u011fi vakit istemci taraf\u0131ndan sunucuya \u00e7erezler tekrardan g\u00f6nderilmektedir. Genellikle kullan\u0131c\u0131 bilgilerinin tutuldu\u011fu \u00e7erezlerde her t\u00fcrl\u00fc bilgi tutulabilir ve sunucu ile istemci aras\u0131nda bu bilgiler do\u011fruland\u0131r\u0131labilir.<\/p>\n<h3>\u00c7erezler Nas\u0131l \u00c7al\u0131\u015f\u0131rlar?<\/h3>\n<p>Yukar\u0131da bahsetti\u011fimiz gibi sunucu taraf\u0131ndan g\u00f6nderilen \u00e7erezler, istemci taraf\u0131ndan kaydedilmektedir. Burada dikkat edilmesi gereken nokta, her bir internet taray\u0131c\u0131s\u0131(Browser) kendine g\u00f6re farkl\u0131 \u015fekilde \u00e7erezleri depolamaktad\u0131rlar. O y\u00fczden &#8216;x&#8217; taray\u0131c\u0131s\u0131nda kaydedilen \u00e7erez, &#8216;y&#8217; taray\u0131c\u0131s\u0131nda bar\u0131nd\u0131r\u0131lmamaktad\u0131r.<\/p>\n<h3>Avantajlar\u0131 Nelerdir?<\/h3>\n<ul>\n<li>Olduk\u00e7a kolay bir kullan\u0131ma sahiptirler.<\/li>\n<li>Y\u00fck istemcidedir.<\/li>\n<\/ul>\n<h3>Dezavantajlar\u0131 Nelerdir?<\/h3>\n<ul>\n<li>Veriler d\u00fcz sakland\u0131klar\u0131 i\u00e7in g\u00fcvenli de\u011fildir.<\/li>\n<li>\u00c7erezlerde boyut olarak 4KB&#8217;l\u0131k bir s\u0131n\u0131r vard\u0131r.<\/li>\n<li>Taray\u0131c\u0131dan taray\u0131c\u0131ya g\u00f6re de\u011fi\u015fsede kullan\u0131labilir \u00e7erez say\u0131s\u0131 s\u0131n\u0131rland\u0131r\u0131lm\u0131\u015ft\u0131r.<\/li>\n<li>Olas\u0131 y\u00fcksek g\u00fcvenlikli taray\u0131c\u0131 ayarlar\u0131na g\u00f6re \u00e7al\u0131\u015fmayabilirler.<\/li>\n<\/ul>\n<p>\u015eimdi Cookie olu\u015fturmay\u0131 g\u00f6relim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            if (Response.Cookies&#x5B;&quot;OrnekCookie2&quot;] != null)\r\n            {\r\n                \/\/Cookie nesnesi olu\u015fturuyoruz.\r\n                HttpCookie Cookie = new HttpCookie(&quot;OrnekCookie2&quot;);\r\n                \/\/Cookie bilgilerini tan\u0131ml\u0131yoruz.\r\n                Cookie&#x5B;&quot;Isim&quot;] = &quot;Gen\u00e7ay&quot;;\r\n                Cookie&#x5B;&quot;SoyIsim&quot;] = &quot;Y\u0131ld\u0131z&quot;;\r\n                Cookie&#x5B;&quot;EPosta&quot;] = &quot;gyildizmail@gmail.com&quot;;\r\n                Cookie&#x5B;&quot;MedeniHal&quot;] = &quot;Bekar&quot;;\r\n                \/\/Cookie'nin tutulacak s\u00fcresini belirtiyoruz.\r\n                Cookie.Expires = DateTime.Now.AddMinutes(1);\r\n                \/\/Cookie'yi ekleyerek, fiziksel olarak olu\u015fturuyoruz.\r\n                Response.Cookies.Add(Cookie);\r\n            }\r\n<\/pre>\n<p>Olu\u015fturulan bir Cookie&#8217;den bilgileri okuyal\u0131m.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            HttpCookie Cookie = Request.Cookies&#x5B;&quot;OrnekCookie2&quot;];\r\n            lblIsim.Text = Cookie?&#x5B;&quot;Isim&quot;];\r\n            lblSoyIsim.Text = Cookie?&#x5B;&quot;SoyIsim&quot;];\r\n            lblEPosta.Text = Cookie?&#x5B;&quot;EPosta&quot;];\r\n            lblMedeniHal.Text = Cookie?&#x5B;&quot;MedeniHal&quot;];\r\n<\/pre>\n<h3>Persistent Cookie(Kal\u0131c\u0131 \u00c7erezler)<\/h3>\n<p>\u0130stemcinin sabit belle\u011finde fiziksel olarak tutulan ta ki s\u00fcresi doluncaya kadar saklanan \u00e7erezlerdir. K\u0131saca ne kadar s\u00fcre tutulaca\u011f\u0131 belirtilen \u00e7erezlere Persistent Cookie denmektedir.<\/p>\n<h3>Non Persistent Cookie(Kal\u0131c\u0131 Olmayan-Ge\u00e7ici- \u00c7erezler)<\/h3>\n<p>Bu t\u00fcr \u00e7erezlere ge\u00e7ici \u00e7erezlerde denmektedir. E\u011fer \u00e7erez tan\u0131mlamas\u0131nda bir ge\u00e7erlilik s\u00fcresi tan\u0131mlanmam\u0131\u015fsa, bu \u00e7erezler istemci taraf\u0131nda taray\u0131c\u0131 haf\u0131zas\u0131nda saklanmaktad\u0131r. Anlayaca\u011f\u0131n\u0131z taray\u0131c\u0131 kapand\u0131\u011f\u0131 zaman \u00e7erezler silinecektir.<\/p>\n<p>Sonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<\/p>\n<p>\u0130yi \u00e7al\u0131\u015fmalar&#8230;<\/p>\n<p>Kaynak : http:\/\/www.yazilimmutfagi.com\/10103\/web\/asp-net\/cerezler-cookie-hakkinda-bilgi-ve-asp-net-de-cerez-cookie-kullanimi.aspx<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Merhaba, Bu yaz\u0131m\u0131zda web projelerinde y\u0131llarca kullan\u0131lan Cookie yap\u0131s\u0131na de\u011finece\u011fim. Bunca zamand\u0131r bu yap\u0131 \u00fczerine i\u00e7erik olu\u015fturmamam\u0131n sebebi san\u0131r\u0131m fazla \u00f6nemli olmamas\u0131 ve kullan\u0131m a\u00e7\u0131s\u0131ndan zorluk arz etmemesinden kaynaklanmaktad\u0131r. Halbuki \u015fimdi bu konuyla ilgili&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":3434,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,11,600,345],"tags":[745,1097,1096,1102,1099,1101,1100,1098],"class_list":["post-4076","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-asp-net","category-asp-net-mvc","category-asp-net-mvc-5","category-mvc-4-0","tag-asp-net","tag-cerez","tag-cookie","tag-gecici-cerezler","tag-kalici-cerezler","tag-kalici-olmayan-cerezler","tag-non-persistent-cookie","tag-persistent-cookie"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/4076","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=4076"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/4076\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/3434"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=4076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=4076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=4076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}