Veritabanında Depolama – SEO Hizmeti Sunma – SEO Hizmeti – SEO Hizmeti Ücretleri – SEO Hizmeti Yaptırma
Yapılandırma Ayarlarını Bir Veritabanında Depolama
Web.config, yapılandırma verilerini depolamak için uygun bir yer olsa da, her zaman en iyi yer değildir. Onlarla karşılaşmadan önce bilmek isteyeceğiniz bazı dezavantajları vardır.
Neyse ki, yapılandırma ayarlarını bir veritabanı gibi başka konumlarda saklamayı tercih edebilirsiniz. Bu bölümde, yapılandırma ayarlarını ad-değer çiftleri olarak depolayabilen bir veritabanı tablosunun nasıl oluşturulacağını ve bu ayarları okuyup yazmak için gereken kodun nasıl yazılacağını öğreneceksiniz. Ek olarak, XML serileştirmeyi kullanarak tüm nesneleri veritabanında nasıl depolayacağınızı öğreneceksiniz.
Bu bölümdeki örnekler, bilgisayarınızda bir tür SQL Server’ın kurulu olduğunu ve kullandığınız veritabanının SampleCode olarak adlandırıldığını varsaymaktadır. Microsoft’un kişisel ve gelişimsel kullanım için ücretsiz olarak sağladığı SQL Server Express’in bir kopyasının nasıl edinileceği hakkında daha fazla bilgi için bu kitabın girişine bakın.
Birkaç senaryoda, Web.config dosyası, yapılandırma ayarlarını depolamak için ideal bir konum değildir. Bu senaryolardan biri, kullanıcılar uygulamanıza erişirken yapılandırma ayarlarını düzenli olarak güncelleyeceğiniz zamandır.
ASP.NET, değişiklikler için Web.config dosyasını sürekli olarak izler. Dosya değiştirildiğinde, ASP.NET, Web.config’deki değişikliklerin etkili olabilmesi için uygulamanızı yeniden yükler. Varsayılan olarak, ASP.NET işlem içi durum yönetimini kullanır; bu, Uygulama ve Oturum nesnelerinin uygulamanızla aynı bellek alanında depolandığı anlamına gelir.
Uygulamanız yeniden yüklendiğinde, bu bellek alanı silinir, bu nedenle Oturum nesnelerinde veya Uygulama nesnesinde sakladığınız tüm verileri kaybedersiniz. Bu senaryoyu hesaba katmazsanız, Web.config’de bir ayarı her değiştirdiğinizde şikayet eden çok sayıda kullanıcınız olabilir.
Dikkat : Web uygulamanız çalışırken Web.config dosyasını değiştirmek, işlem içi durum yönetimi kullanıyorsanız, Oturum ve Uygulama nesnesini verilerinden temizler.
Web.config’in zahmetli olduğu başka bir senaryo, değiştirilen yapılandırma ayarlarını Web.config’e geri kaydetmek istemenizdir. Ayarları Web.config dosyasına geri yazmak için yerleşik bir destek yoktur, bu nedenle bu görevi gerçekleştirmek için kendi araçlarınızı oluşturmalısınız.
Kendi araçlarınızı geliştirdiyseniz, ASP.NET’in altında çalıştığı varsayılan hesabın Web.config dosyasına yazma izni olmadığından Web.config dosyasındaki güvenlik izinlerini değiştirmeniz gerekir.
Ve izinleri doğru ayarladıysanız, yine de Web.config’e her yazdığınızda uygulamanızın sıfırlanmasıyla ilgili bir sorun yaşarsınız. Bir veritabanında saklanan yapılandırma ayarları, tüm bu sorunları önler.
Son olarak, aşırı sayıda yapılandırma ayarınız varsa Web.config’den kaçınmak isteyebilirsiniz. XML, en okunabilir biçim değildir. Web.config’de 5 veya 6 yapılandırma ayarına bakmak nispeten kolaydır, ancak 50 veya 100’ü elemek biraz daha zahmetli hale gelir. Çok sayıda yapılandırma öğeniz varsa, bunları bir veritabanına koymayı ve bir yapılandırma ayarları sayfası oluşturmayı düşünün.
■Dikkat : Veritabanı bağlantı dizeleri, Web.config’in <connectionStrings> bölümünde saklanmalıdır. Bağlantı dizesi olmadan bir veritabanına erişemezsiniz, bu nedenle bağlantı dizelerini bir veritabanında depolamak pek mantıklı olmaz.
Veritabanı Nedir
İlişkisel veritabanı Nedir
Telefonda veri tabanı Nedir
Veri tabanı Nerelerde Kullanılır
Veritabanı Türleri
Veri tabanı Nedir Ne İşe Yarar
Veritabanı Yönetim Sistemleri
SQL veritabanı
Yapılandırma Ayarlarını Depolamak için Bir Veritabanı Tablosu Oluşturma
Verileri bir veritabanında depolamadan önce, bu verileri depolamak için uygun bir tablo oluşturmanız gerekir. Yapılandırma ayarları genellikle ad-değer çiftleri olarak saklanır, bu nedenle tablonuzun gösterildiği gibi bu yapıyı taklit etmesi gerekir.
Bu sorgu, iki sütunlu Ayarlar adlı yeni bir tablo ekler: AyarAdı ve Değer. SettingName, 50 karaktere kadar bir dize değeri saklar. Aynı zamanda tablonun birincil anahtarıdır, bu nedenle bu sütundaki değerler benzersiz olmalıdır. Değer, nesneleri XML’e serileştirmeyi tartıştığımızda kullanışlı olacak, müstehcen uzun bir dize depolayabilen bir metin sütunudur.
SQL ifadesinin son kısmı, yeni oluşturulan tablonuza birkaç ayar adı ve değeri ekleyen bir dizi ek içerir.
■İpucu : Veritabanınızda çok sayıda yapılandırma ayarı varsa, ayarlar tablonuza bir açıklama sütunu eklemek her zaman iyi bir fikirdir. Her birinin ne yaptığını bilmeniz için yapılandırma ayarlarınızı yorumlamanıza olanak tanır; bu, uygulamayla uzun süredir ilgilenmediyseniz son derece yararlı olabilir.
SQL Saldırılarından Kaçınmak
SQL’de derinlere inmeden önce, duruma bağlı olarak, genellikle sinir bozucu veya yıkıcı sonuçları olan, birçok insanın yanlışlıkla gözden kaçırdığı ortak bir sorunu tartışalım. SQL’deki dizeler, tek tırnak içine alınmış metin olarak temsil edilir. Yani, bunun gibi bir SQL ifadesi görebilirsiniz.
Bu SQL ifadesi, SQL ayrıştırıcısı ‘O’ dizesini gördüğü ve Reilly anahtar sözcük adı olmadığı için başarısız olduğu için hiçbir zaman çalışmaz. Ayrıca, ifadenin sonunda, yaralanmaya hakaret ekleyen, sonlandırılmamış bir ‘ WHERE [ID]=50 dizesi vardır.
Ne yazık ki, tek tırnak söz konusu olduğunda endişelenmeniz gereken tek şey keder değildir. Kötü niyetli kullanıcılar, kötü tasarlanmış oturum açma sistemlerine erişmek ve hatta verileri yok etmek için tek tırnak kullanabilirler. SQL enjeksiyon saldırısı olarak bilinir ve kötü amaçlı SQL kodunu bir ifadeye enjekte etmek için tek tırnak işaretleri ve yorum karakteri (–) kullanmayı içerir.
Bir kullanıcının adını kontrol etmek ve uygulamanıza erişim izni vermeden önce oturum açmak için aşağıdaki SQL deyimini kullandığınızı varsayalım.
Kullanıcı adı dizesinin “erken” sonlandırıldığına, ancak satırın geri kalanının yorumlandığına (sonlandırılmamış dizeyle sözdizimi hatalarından kaçınıldığına) dikkat edin, bu nedenle SQL ifadesi geçerli kalır ancak parola doğrulamasından yoksundur.
Ve, daha da kötüleşiyor. Gerçekten kötü niyetli bir kullanıcı sisteminize saldırmak isterse, user gibi bir oturum açma adı kullanabilir’; [Kullanıcılardan] SİL; –. Bu, görünüşte zararsız olan oturum açma ifadenizi buna dönüştürür.
Artık gerçek bir sorununuz var çünkü tüm kullanıcı tablonuz silindi ve uygulamanıza kötü bir kullanıcı giriş yaptı. Neyse ki, bu sorunlardan kaçınmanın kolay bir yolu var: SQL ifadelerini manuel olarak oluşturmak yerine parametreli sorguları kullanın.
Parametreli sorgular, SQL Deyiminde kullanmak istediğiniz değerler için parametreleri yer tutucu olarak kullanır. SQL ifadesini çalıştırmadan önce komut nesnesine parametreler eklersiniz, böylece SQL ifadesi parametreler için hangi değerleri kullanmak istediğinizi bilir. Aşağıda, parametreli bir sorgunun nasıl kullanılacağına ilişkin bir örnek verilmiştir.
Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır.
1) Backlink Paketi 50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)