{"id":28542,"date":"2025-09-01T02:30:26","date_gmt":"2025-08-31T23:30:26","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/"},"modified":"2025-09-01T02:30:26","modified_gmt":"2025-08-31T23:30:26","slug":"asp-net-core-sifre-goster-gizle","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/","title":{"rendered":"ASP.NET Core \u015eifre G\u00f6ster\/Gizle"},"content":{"rendered":"<p>ASP.NET Core \u015eifre G\u00f6ster\/Gizle<\/p>\n<p>Kullan\u0131c\u0131lar\u0131n \u015fifrelerini g\u00fcvenli bir \u015fekilde y\u00f6netmek, her web uygulamas\u0131 i\u00e7in kritik \u00f6neme sahiptir.  ASP.NET Core uygulamalar\u0131nda \u015fifre g\u00f6ster\/gizle fonksiyonelli\u011fini do\u011fru bir \u015fekilde uygulamak, hem kullan\u0131c\u0131 deneyimini iyile\u015ftirir hem de g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 \u00f6nler. Bu makalede, ASP.NET Core&#8217;da \u015fifre g\u00f6ster\/gizle \u00f6zelli\u011fini ad\u0131m ad\u0131m nas\u0131l uygulayaca\u011f\u0131n\u0131z\u0131, farkl\u0131 teknikleri kar\u015f\u0131la\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ve g\u00fcvenlik hususlar\u0131na nas\u0131l dikkat edece\u011finizi \u00f6\u011freneceksiniz.  \u0130ster yeni ba\u015flayan ister deneyimli bir geli\u015ftirici olun, bu kapsaml\u0131 rehber size ihtiyac\u0131n\u0131z olan t\u00fcm bilgileri sa\u011flayacakt\u0131r.<\/p>\n<h2>ASP.NET Core \u015eifre G\u00f6ster\/Gizle: Temel Kavramlar<\/h2>\n<p>ASP.NET Core&#8217;da \u015fifre g\u00f6ster\/gizle i\u015flemi genellikle bir checkbox veya toggle button ile kontrol edilir.  Kullan\u0131c\u0131 bu kontrol\u00fc i\u015faretledi\u011finde \u015fifre metin kutusu \u015fifreli moddan metin moduna ge\u00e7er ve tersi \u015fekilde \u00e7al\u0131\u015f\u0131r.  Bu i\u015flemin g\u00fcvenli bir \u015fekilde uygulanmas\u0131 i\u00e7in, \u015fifrenin sunucu taraf\u0131nda hi\u00e7bir zaman a\u00e7\u0131k olarak g\u00f6r\u00fcnmemesi ve istemci taraf\u0131nda sadece ge\u00e7ici olarak g\u00f6sterilmesi \u00f6nemlidir.  Bu, XSS (Cross-Site Scripting) gibi sald\u0131r\u0131lardan korunmak i\u00e7in hayati \u00f6nem ta\u015f\u0131r.  Ayr\u0131ca, kullan\u0131c\u0131 \u015fifresini girerken ve g\u00f6r\u00fcnt\u00fclerken  JavaScript&#8217;in g\u00fcvenli kullan\u0131m\u0131 esast\u0131r. Daha sonraki b\u00f6l\u00fcmlerde bu konuya daha detayl\u0131 de\u011finece\u011fiz.<\/p>\n<p>Bu i\u015flemi ger\u00e7ekle\u015ftirmek i\u00e7in temel olarak HTML, CSS ve JavaScript kullanaca\u011f\u0131z.  HTML, kullan\u0131c\u0131 aray\u00fcz\u00fcn\u00fc olu\u015ftururken; CSS, g\u00f6r\u00fcn\u00fcm\u00fc \u015fekillendirirken; JavaScript ise \u015fifre g\u00f6ster\/gizle mant\u0131\u011f\u0131n\u0131 y\u00f6netecektir.  ASP.NET Core MVC veya Razor Pages kullanarak bu bile\u015fenleri bir araya getirece\u011fiz.  \u00d6rne\u011fin, bir Razor Pages uygulamas\u0131nda, \u015fifre alan\u0131n\u0131 <code>@Html.PasswordFor<\/code> yerine <code>@Html.TextBoxFor<\/code> ile render edebilir ve JavaScript ile g\u00f6r\u00fcn\u00fcrl\u00fc\u011f\u00fcn\u00fc kontrol edebiliriz. Ancak, \u015fifrenin asla sunucu taraf\u0131na a\u00e7\u0131k metin olarak g\u00f6nderilmedi\u011finden emin olmal\u0131y\u0131z.  G\u00fcvenli\u011fi sa\u011flamak i\u00e7in, \u015fifre her zaman g\u00fcvenli \u015fifreleme algoritmalar\u0131 kullan\u0131larak \u015fifrelenmelidir.<\/p>\n<h2>ASP.NET Core \u015eifre G\u00f6ster\/Gizle: Ad\u0131m Ad\u0131m Uygulama<\/h2>\n<p>\u015eimdi, basit bir ASP.NET Core Razor Pages uygulamas\u0131nda \u015fifre g\u00f6ster\/gizle \u00f6zelli\u011fini ad\u0131m ad\u0131m nas\u0131l uygulayaca\u011f\u0131m\u0131z\u0131 inceleyelim.  \u00d6ncelikle, bir Razor Pages projesi olu\u015ftural\u0131m ve bir kay\u0131t formu ekleyelim.  Bu formda, \u015fifre alan\u0131n\u0131n yan\u0131na bir checkbox ekleyece\u011fiz.  Bu checkbox&#8217;\u0131n <code>onchange<\/code> olay\u0131n\u0131 kullanarak, JavaScript ile \u015fifre alan\u0131n\u0131n <code>type<\/code> \u00f6zelli\u011fini de\u011fi\u015ftirece\u011fiz.  \u015eifre alan\u0131 <code>password<\/code> tipinde ba\u015flar ve checkbox se\u00e7ildi\u011finde <code>text<\/code> tipine d\u00f6n\u00fc\u015f\u00fcr.<\/p>\n<h3>HTML ve CSS<\/h3>\n<pre><code class=\"language-html\"><div>\n    <label for=\"Password\">\u015eifre:<\/label>\n    <input type=\"password\" asp-for=\"Model.Password\" id=\"Password\" \/>\n    <input type=\"checkbox\" id=\"showPassword\" \/>\n    <label for=\"showPassword\">\u015eifreyi G\u00f6ster<\/label>\n<\/div>\n<style>\n    \/* Ekran boyutuna g\u00f6re stil ayarlamas\u0131 (Mobil uyumluluk) *\/\n    @media (max-width: 768px) {\n        #Password {\n            width: 100%;\n        }\n    }\n<\/style><\/pre>\n<p><\/code><\/p>\n<h3>JavaScript<\/h3>\n<pre><code class=\"language-javascript\">document.getElementById(&#039;showPassword&#039;).addEventListener(&#039;change&#039;, function() {\n    var passwordField = document.getElementById(&#039;Password&#039;);\n    if (this.checked) {\n        passwordField.type = &#039;text&#039;;\n    } else {\n        passwordField.type = &#039;password&#039;;\n    }\n});<\/pre>\n<p><\/code><\/p>\n<p>Bu kod blo\u011fu, <code>showPassword<\/code> checkbox'\u0131n\u0131n durumuna g\u00f6re <code>Password<\/code> alan\u0131n\u0131n tipini de\u011fi\u015ftirir.  <code>type=\"text\"<\/code> yap\u0131ld\u0131\u011f\u0131nda \u015fifre g\u00f6r\u00fcn\u00fcr olur, <code>type=\"password\"<\/code> yap\u0131ld\u0131\u011f\u0131nda ise tekrar gizlenir.  CSS k\u0131sm\u0131 ise mobil uyumluluk i\u00e7in ek bir d\u00fczenleme sa\u011flar. Daha geli\u015fmi\u015f bir tasar\u0131m i\u00e7in Bootstrap veya benzeri bir framework kullanabilirsiniz.  Bu basit \u00f6rnek, temel i\u015flevi g\u00f6sterir. Daha karma\u015f\u0131k senaryolar i\u00e7in geli\u015fmi\u015f teknikler gerekebilir.<\/p>\n<h2>ASP.NET Core \u015eifre G\u00f6ster\/Gizle: \u0130leri D\u00fczey Teknikler<\/h2>\n<p>Yukar\u0131daki y\u00f6ntem basit ve anla\u015f\u0131l\u0131r olsa da, g\u00fcvenlik a\u00e7\u0131s\u0131ndan baz\u0131 ek \u00f6nlemler almal\u0131y\u0131z.  \u00d6rne\u011fin, JavaScript'i devre d\u0131\u015f\u0131 b\u0131rakan kullan\u0131c\u0131lar i\u00e7in bir alternatif \u00e7\u00f6z\u00fcm sa\u011flamam\u0131z gerekebilir.  Bunun i\u00e7in, sunucu taraf\u0131nda \u015fifrenin g\u00f6r\u00fcn\u00fcrl\u00fc\u011f\u00fcn\u00fc kontrol etmek ve bu durumu bir hidden field veya benzeri bir y\u00f6ntemle istemciye iletmek ve sunucu taraf\u0131nda gerekli do\u011frulamalar\u0131 yapmak daha g\u00fcvenli bir yakla\u015f\u0131m olabilir. Bu, sadece istemci taraf\u0131na g\u00fcvenmek yerine, sunucu taraf\u0131nda da g\u00fcvenlik kontrollerinin yap\u0131lmas\u0131n\u0131 sa\u011flar. <\/p>\n<p>Ayr\u0131ca, \u015fifrenin ge\u00e7ici olarak g\u00f6r\u00fcn\u00fcr hale getirildi\u011fi s\u00fcre boyunca, k\u00f6t\u00fc ama\u00e7l\u0131 yaz\u0131l\u0131mlar\u0131n ekran g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fc almas\u0131n\u0131 engellemek i\u00e7in ek \u00f6nlemler almak isteyebiliriz. Bu, \u00f6zellikle y\u00fcksek g\u00fcvenlik gerektiren uygulamalar i\u00e7in \u00f6nemlidir.  Bu durum i\u00e7in geli\u015fmi\u015f kriptografik teknikler veya \u00f6zel JavaScript k\u00fct\u00fcphaneleri kullan\u0131labilir.  Bunun yan\u0131 s\u0131ra,  \u015fifre g\u00f6ster\/gizle fonksiyonelli\u011fini kullan\u0131rken kullan\u0131c\u0131y\u0131 potansiyel riskler hakk\u0131nda bilgilendirmek \u00f6nemlidir. \u00d6rne\u011fin, \u015fifrenin g\u00f6r\u00fcnt\u00fclenmesi s\u0131ras\u0131nda ekran\u0131n ba\u015fkalar\u0131 taraf\u0131ndan g\u00f6r\u00fclmedi\u011finden emin olunmas\u0131 gerekti\u011fi konusunda uyar\u0131lar ekleyebilirsiniz.<\/p>\n<p>Daha geli\u015fmi\u015f bir yakla\u015f\u0131m olarak, \u015fifre alan\u0131n\u0131n g\u00f6r\u00fcn\u00fcrl\u00fc\u011f\u00fcn\u00fc kontrol etmek i\u00e7in bir JavaScript k\u00fct\u00fcphanesi kullanabilirsiniz. Bu k\u00fct\u00fcphaneler, g\u00fcvenlik ve kullan\u0131c\u0131 deneyimi a\u00e7\u0131s\u0131ndan daha geli\u015fmi\u015f \u00f6zellikler sunabilir.  \u00d6rne\u011fin, g\u00f6z simgesi gibi g\u00f6rsel bir geri bildirim sa\u011flayabilir veya \u015fifre alan\u0131n\u0131n g\u00f6r\u00fcn\u00fcrl\u00fc\u011f\u00fcn\u00fc de\u011fi\u015ftirmek i\u00e7in animasyonlar ekleyebilirsiniz.  Bu k\u00fct\u00fcphaneleri kullanmak, kodun daha okunabilir ve s\u00fcrd\u00fcr\u00fclebilir olmas\u0131n\u0131 sa\u011flar.  Ancak, k\u00fct\u00fcphane se\u00e7iminde g\u00fcvenilir ve iyi belgelendirilmi\u015f k\u00fct\u00fcphaneleri tercih etmek \u00f6nemlidir.  K\u00fct\u00fcphane se\u00e7imi, projenin g\u00fcvenlik gereksinimlerine ve performans beklentilerine ba\u011fl\u0131 olarak de\u011fi\u015febilir.<\/p>\n<h2>ASP.NET Core \u015eifre G\u00f6ster\/Gizle: Ger\u00e7ek D\u00fcnya Senaryolar\u0131<\/h2>\n<p>Bir e-ticaret sitesi d\u00fc\u015f\u00fcn\u00fcn.  Kullan\u0131c\u0131lar kay\u0131t olurken veya \u015fifrelerini de\u011fi\u015ftirirken \u015fifrelerini g\u00f6rmeleri gerekebilir.  Bu senaryoda, g\u00fcvenli bir \u015fifre g\u00f6ster\/gizle \u00f6zelli\u011fi kullan\u0131c\u0131 deneyimini b\u00fcy\u00fck \u00f6l\u00e7\u00fcde iyile\u015ftirir.  Kullan\u0131c\u0131lar yanl\u0131\u015fl\u0131kla yanl\u0131\u015f \u015fifre girme riskini azalt\u0131r ve daha rahat bir kay\u0131t s\u00fcreci ya\u015farlar.  G\u00fcvenli\u011fi sa\u011flamak i\u00e7in, yukar\u0131da bahsedilen ileri d\u00fczey teknikleri kullanarak \u015fifrenin sunucuya a\u00e7\u0131k metin olarak g\u00f6nderilmesinin \u00f6n\u00fcne ge\u00e7meliyiz.  Her zaman \u015fifreleme ve do\u011frulama i\u015flemlerini kullanmal\u0131y\u0131z.  Ayr\u0131ca, potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 \u00f6nlemek i\u00e7in d\u00fczenli g\u00fcvenlik denetimleri yapmal\u0131y\u0131z.<\/p>\n<p>Bir di\u011fer senaryo ise, bir finansal uygulama olabilir.  Bu uygulamalarda g\u00fcvenlik en \u00fcst d\u00fczeyde olmal\u0131d\u0131r.  Bu nedenle, \u015fifre g\u00f6ster\/gizle \u00f6zelli\u011fini uygularken,  her t\u00fcrl\u00fc g\u00fcvenlik a\u00e7\u0131\u011f\u0131n\u0131 \u00f6nlemek i\u00e7in \u00e7ok dikkatli olmal\u0131y\u0131z.  G\u00fcvenlik a\u00e7\u0131s\u0131ndan kritik olan bir uygulaman\u0131n g\u00fcvenli\u011fini sa\u011flamak i\u00e7in, \u015fifreleme, do\u011frulama ve yetkilendirme gibi g\u00fcvenlik mekanizmalar\u0131n\u0131 her zaman kullanmal\u0131y\u0131z.  D\u00fczenli g\u00fcvenlik denetimleri ve g\u00fcncellemeleri de kritik \u00f6nem ta\u015f\u0131r.  Ayr\u0131ca, g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 \u00f6nlemek i\u00e7in uzman bir g\u00fcvenlik dan\u0131\u015fman\u0131ndan yard\u0131m alabilirsiniz.<\/p>\n<h2>ASP.NET Core \u015eifre G\u00f6ster\/Gizle: Performans Kar\u015f\u0131la\u015ft\u0131rmas\u0131<\/h2>\n<p>\u015eifre g\u00f6ster\/gizle i\u015flemi i\u00e7in farkl\u0131 y\u00f6ntemler kullan\u0131labilir.  Basit JavaScript tabanl\u0131 y\u00f6ntemler genellikle h\u0131zl\u0131 ve etkilidir.  Ancak, daha karma\u015f\u0131k y\u00f6ntemler, daha fazla i\u015flem g\u00fcc\u00fc ve kaynak gerektirebilir.  Performans kar\u015f\u0131la\u015ft\u0131rmas\u0131 yaparken, uygulaman\u0131n \u00f6l\u00e7eklenebilirli\u011fini ve g\u00fcvenli\u011fini g\u00f6z \u00f6n\u00fcnde bulundurmal\u0131y\u0131z.  Karma\u015f\u0131k y\u00f6ntemler, daha fazla g\u00fcvenlik sunsa da performans\u0131 olumsuz etkileyebilir.  Basit bir JavaScript tabanl\u0131 \u00e7\u00f6z\u00fcm, \u00e7o\u011fu uygulama i\u00e7in yeterli performans sa\u011flayacakt\u0131r.  Ancak, y\u00fcksek trafikli bir uygulama i\u00e7in daha geli\u015fmi\u015f bir y\u00f6ntem se\u00e7meniz gerekebilir.<\/p>\n<p>A\u015fa\u011f\u0131daki tablo, farkl\u0131 y\u00f6ntemlerin performans kar\u015f\u0131la\u015ft\u0131rmas\u0131n\u0131 \u00f6zetler:<\/p>\n<table>\n<tr>\n<th>Y\u00f6ntem<\/th>\n<th>Performans<\/th>\n<th>G\u00fcvenlik<\/th>\n<\/tr>\n<tr>\n<td>Basit JavaScript<\/td>\n<td>Y\u00fcksek<\/td>\n<td>Orta<\/td>\n<\/tr>\n<tr>\n<td>Geli\u015fmi\u015f JavaScript K\u00fct\u00fcphanesi<\/td>\n<td>Orta<\/td>\n<td>Y\u00fcksek<\/td>\n<\/tr>\n<tr>\n<td>Sunucu Taraf\u0131 Do\u011frulama<\/td>\n<td>D\u00fc\u015f\u00fck<\/td>\n<td>Y\u00fcksek<\/td>\n<\/tr>\n<\/table>\n<p>Performans kar\u015f\u0131la\u015ft\u0131rmas\u0131, uygulaman\u0131n \u00f6zel gereksinimlerine ba\u011fl\u0131 olarak de\u011fi\u015febilir.  Uygulaman\u0131z\u0131n performans gereksinimlerine ve g\u00fcvenlik politikalar\u0131na g\u00f6re en uygun y\u00f6ntemi se\u00e7meniz \u00f6nemlidir. Daha fazla bilgi i\u00e7in  <a href=\"https:\/\/fatihsoysal.com\">Fatih Soysal'\u0131n web sitesini<\/a> inceleyebilirsiniz.<\/p>\n<h2>ASP.NET Core \u015eifre G\u00f6ster\/Gizle: G\u00fcvenlik Uyar\u0131lar\u0131<\/h2>\n<div style=\"background-color: #ffdddd; border: 1px solid #ffaaaa; padding: 10px;\">\n<h3>Dikkat!<\/h3>\n<p>\u015eifre g\u00f6ster\/gizle \u00f6zelli\u011fini uygularken, her zaman g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 \u00f6nlemek i\u00e7in dikkatli olunmal\u0131d\u0131r.  \u015eifre asla a\u00e7\u0131k metin olarak sunucuya g\u00f6nderilmemelidir.  Her zaman g\u00fcvenli \u015fifreleme algoritmalar\u0131 kullan\u0131lmal\u0131d\u0131r.  Ayr\u0131ca, istemci taraf\u0131nda uygulanan g\u00fcvenlik \u00f6nlemlerine tamamen g\u00fcvenmemeli ve sunucu taraf\u0131nda da gerekli do\u011frulamalar\u0131n yap\u0131ld\u0131\u011f\u0131ndan emin olunmal\u0131d\u0131r.  D\u00fczenli g\u00fcvenlik denetimleri ve g\u00fcncellemeleri, g\u00fcvenli\u011fi sa\u011flamak i\u00e7in gereklidir.<\/p>\n<\/div>\n<h2>Sonu\u00e7<\/h2>\n<p>Bu makalede, ASP.NET Core uygulamalar\u0131nda \u015fifre g\u00f6ster\/gizle \u00f6zelli\u011fini g\u00fcvenli ve etkili bir \u015fekilde nas\u0131l uygulayabilece\u011finizi \u00f6\u011frendiniz.  Temel kavramlardan ileri d\u00fczey tekniklere kadar \u00e7e\u015fitli y\u00f6ntemleri inceledik ve ger\u00e7ek d\u00fcnya senaryolar\u0131na \u00f6rnekler verdik.  Unutmay\u0131n ki, g\u00fcvenlik her zaman \u00f6ncelikli olmal\u0131d\u0131r.  Uygulaman\u0131z\u0131n \u00f6zel gereksinimlerine g\u00f6re en uygun y\u00f6ntemi se\u00e7meli ve d\u00fczenli g\u00fcvenlik denetimleri yapmal\u0131s\u0131n\u0131z.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<ul>\n<li><strong>\u015eifre g\u00f6ster\/gizle \u00f6zelli\u011fi g\u00fcvenli midir?<\/strong>  Do\u011fru bir \u015fekilde uygulan\u0131rsa, evet.  Ancak, g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 \u00f6nlemek i\u00e7in dikkatli olunmal\u0131d\u0131r. Sunucu taraf\u0131nda da do\u011frulama yap\u0131lmas\u0131 \u00f6nemlidir.<\/li>\n<li><strong>Hangi JavaScript k\u00fct\u00fcphaneleri kullan\u0131labilir?<\/strong>  Bir\u00e7ok JavaScript k\u00fct\u00fcphanesi kullan\u0131labilir, ancak g\u00fcvenilir ve iyi belgelendirilmi\u015f olanlar\u0131 tercih etmelisiniz.<\/li>\n<li><strong>Mobil uyumluluk nas\u0131l sa\u011flan\u0131r?<\/strong> CSS medya sorgular\u0131 kullanarak farkl\u0131 ekran boyutlar\u0131na g\u00f6re stil ayarlamalar\u0131 yap\u0131labilir.<\/li>\n<li><strong>Sunucu taraf\u0131nda nas\u0131l g\u00fcvenlik sa\u011flan\u0131r?<\/strong> \u015eifreler her zaman \u015fifrelenmeli ve sunucu taraf\u0131nda do\u011frulama i\u015flemleri yap\u0131lmal\u0131d\u0131r.<\/li>\n<li><strong>Performans nas\u0131l iyile\u015ftirilebilir?<\/strong> Gereksiz i\u015flemlerden ka\u00e7\u0131n\u0131larak ve performans optimizasyon teknikleri kullan\u0131larak performans iyile\u015ftirilebilir.<\/li>\n<\/ul>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"ASP.NET Core \u015eifre G\u00f6ster\/Gizle Kullan\u0131c\u0131lar\u0131n \u015fifrelerini g\u00fcvenli bir \u015fekilde y\u00f6netmek, her web uygulamas\u0131 i\u00e7in kritik \u00f6neme sahiptir. ASP.NET&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-28542","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>ASP.NET Core \u015eifre G\u00f6ster\/Gizle<\/title>\n<meta name=\"description\" content=\"Kullan\u0131c\u0131lar\u0131n \u015fifrelerini g\u00fcvenli bir \u015fekilde y\u00f6netmek, her web uygulamas\u0131 i\u00e7in kritik \u00f6neme sahiptir. ASP.NET Core uygulamalar\u0131nda \u015fifre g\u00f6ster\/gizle fonksiyonelli\u011fini do\u011fru bir \u015fekilde uygulamak, hem kullan\u0131c\u0131 deneyimini iyile\u015ftirir hem de g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 \u00f6nler. Bu makalede, ASP.NET Core&#039;da \u015fifre g\u00f6ster\/gizle \u00f6zelli\u011fini ad\u0131m ad\u0131m nas\u0131l uygulayaca\u011f\u0131n\u0131z\u0131, farkl\u0131 teknikleri kar\u015f\u0131la\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ve g\u00fcvenlik hususlar\u0131na nas\u0131l dikkat edece\u011finizi \u00f6\u011freneceksiniz. \u0130ster yeni ba\u015flayan ister deneyimli bir geli\u015ftirici olun, bu kapsaml\u0131 rehber size ihtiyac\u0131n\u0131z olan t\u00fcm bilgileri sa\u011flayacakt\u0131r.\" \/>\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\/asp-net-core-sifre-goster-gizle\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ASP.NET Core \u015eifre G\u00f6ster\/Gizle\" \/>\n<meta property=\"og:description\" content=\"Kullan\u0131c\u0131lar\u0131n \u015fifrelerini g\u00fcvenli bir \u015fekilde y\u00f6netmek, her web uygulamas\u0131 i\u00e7in kritik \u00f6neme sahiptir. ASP.NET Core uygulamalar\u0131nda \u015fifre g\u00f6ster\/gizle fonksiyonelli\u011fini do\u011fru bir \u015fekilde uygulamak, hem kullan\u0131c\u0131 deneyimini iyile\u015ftirir hem de g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 \u00f6nler. Bu makalede, ASP.NET Core&#039;da \u015fifre g\u00f6ster\/gizle \u00f6zelli\u011fini ad\u0131m ad\u0131m nas\u0131l uygulayaca\u011f\u0131n\u0131z\u0131, farkl\u0131 teknikleri kar\u015f\u0131la\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ve g\u00fcvenlik hususlar\u0131na nas\u0131l dikkat edece\u011finizi \u00f6\u011freneceksiniz. \u0130ster yeni ba\u015flayan ister deneyimli bir geli\u015ftirici olun, bu kapsaml\u0131 rehber size ihtiyac\u0131n\u0131z olan t\u00fcm bilgileri sa\u011flayacakt\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-31T23:30:26+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"ASP.NET Core \u015eifre G\u00f6ster\/Gizle\",\"datePublished\":\"2025-08-31T23:30:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/\"},\"wordCount\":1663,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/\",\"name\":\"ASP.NET Core \u015eifre G\u00f6ster\/Gizle\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-08-31T23:30:26+00:00\",\"description\":\"Kullan\u0131c\u0131lar\u0131n \u015fifrelerini g\u00fcvenli bir \u015fekilde y\u00f6netmek, her web uygulamas\u0131 i\u00e7in kritik \u00f6neme sahiptir. ASP.NET Core uygulamalar\u0131nda \u015fifre g\u00f6ster\/gizle fonksiyonelli\u011fini do\u011fru bir \u015fekilde uygulamak, hem kullan\u0131c\u0131 deneyimini iyile\u015ftirir hem de g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 \u00f6nler. Bu makalede, ASP.NET Core'da \u015fifre g\u00f6ster\/gizle \u00f6zelli\u011fini ad\u0131m ad\u0131m nas\u0131l uygulayaca\u011f\u0131n\u0131z\u0131, farkl\u0131 teknikleri kar\u015f\u0131la\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ve g\u00fcvenlik hususlar\u0131na nas\u0131l dikkat edece\u011finizi \u00f6\u011freneceksiniz. \u0130ster yeni ba\u015flayan ister deneyimli bir geli\u015ftirici olun, bu kapsaml\u0131 rehber size ihtiyac\u0131n\u0131z olan t\u00fcm bilgileri sa\u011flayacakt\u0131r.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ASP.NET Core \u015eifre G\u00f6ster\/Gizle\"}]},{\"@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":"ASP.NET Core \u015eifre G\u00f6ster\/Gizle","description":"Kullan\u0131c\u0131lar\u0131n \u015fifrelerini g\u00fcvenli bir \u015fekilde y\u00f6netmek, her web uygulamas\u0131 i\u00e7in kritik \u00f6neme sahiptir. ASP.NET Core uygulamalar\u0131nda \u015fifre g\u00f6ster\/gizle fonksiyonelli\u011fini do\u011fru bir \u015fekilde uygulamak, hem kullan\u0131c\u0131 deneyimini iyile\u015ftirir hem de g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 \u00f6nler. Bu makalede, ASP.NET Core'da \u015fifre g\u00f6ster\/gizle \u00f6zelli\u011fini ad\u0131m ad\u0131m nas\u0131l uygulayaca\u011f\u0131n\u0131z\u0131, farkl\u0131 teknikleri kar\u015f\u0131la\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ve g\u00fcvenlik hususlar\u0131na nas\u0131l dikkat edece\u011finizi \u00f6\u011freneceksiniz. \u0130ster yeni ba\u015flayan ister deneyimli bir geli\u015ftirici olun, bu kapsaml\u0131 rehber size ihtiyac\u0131n\u0131z olan t\u00fcm bilgileri sa\u011flayacakt\u0131r.","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\/asp-net-core-sifre-goster-gizle\/","og_locale":"tr_TR","og_type":"article","og_title":"ASP.NET Core \u015eifre G\u00f6ster\/Gizle","og_description":"Kullan\u0131c\u0131lar\u0131n \u015fifrelerini g\u00fcvenli bir \u015fekilde y\u00f6netmek, her web uygulamas\u0131 i\u00e7in kritik \u00f6neme sahiptir. ASP.NET Core uygulamalar\u0131nda \u015fifre g\u00f6ster\/gizle fonksiyonelli\u011fini do\u011fru bir \u015fekilde uygulamak, hem kullan\u0131c\u0131 deneyimini iyile\u015ftirir hem de g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 \u00f6nler. Bu makalede, ASP.NET Core'da \u015fifre g\u00f6ster\/gizle \u00f6zelli\u011fini ad\u0131m ad\u0131m nas\u0131l uygulayaca\u011f\u0131n\u0131z\u0131, farkl\u0131 teknikleri kar\u015f\u0131la\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ve g\u00fcvenlik hususlar\u0131na nas\u0131l dikkat edece\u011finizi \u00f6\u011freneceksiniz. \u0130ster yeni ba\u015flayan ister deneyimli bir geli\u015ftirici olun, bu kapsaml\u0131 rehber size ihtiyac\u0131n\u0131z olan t\u00fcm bilgileri sa\u011flayacakt\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-08-31T23:30:26+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"8 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"ASP.NET Core \u015eifre G\u00f6ster\/Gizle","datePublished":"2025-08-31T23:30:26+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/"},"wordCount":1663,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/","url":"https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/","name":"ASP.NET Core \u015eifre G\u00f6ster\/Gizle","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-08-31T23:30:26+00:00","description":"Kullan\u0131c\u0131lar\u0131n \u015fifrelerini g\u00fcvenli bir \u015fekilde y\u00f6netmek, her web uygulamas\u0131 i\u00e7in kritik \u00f6neme sahiptir. ASP.NET Core uygulamalar\u0131nda \u015fifre g\u00f6ster\/gizle fonksiyonelli\u011fini do\u011fru bir \u015fekilde uygulamak, hem kullan\u0131c\u0131 deneyimini iyile\u015ftirir hem de g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 \u00f6nler. Bu makalede, ASP.NET Core'da \u015fifre g\u00f6ster\/gizle \u00f6zelli\u011fini ad\u0131m ad\u0131m nas\u0131l uygulayaca\u011f\u0131n\u0131z\u0131, farkl\u0131 teknikleri kar\u015f\u0131la\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ve g\u00fcvenlik hususlar\u0131na nas\u0131l dikkat edece\u011finizi \u00f6\u011freneceksiniz. \u0130ster yeni ba\u015flayan ister deneyimli bir geli\u015ftirici olun, bu kapsaml\u0131 rehber size ihtiyac\u0131n\u0131z olan t\u00fcm bilgileri sa\u011flayacakt\u0131r.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/asp-net-core-sifre-goster-gizle\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"ASP.NET Core \u015eifre G\u00f6ster\/Gizle"}]},{"@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\/28542","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=28542"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/28542\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=28542"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=28542"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=28542"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}