2011-10-30 13 views
9

Tüm kayıtlı kullanıcıların verileri sorgulayabildiği (data.stackexchange.com gibi) bir sistemim var (başka biri tarafından geliştiriliyor). Sistem büyük ve daha fazla kullanıcı sistemi sorgulıyor ve yüksek trafik sırasında veritabanı yavaş ve şimdi güvenlik korkuyorum.Caching Query Kullanıcı Başına Sonuçlar

  1. Sistemi daha güvenli hale getirmek için ne yapabilirim?
  2. Sorguları daha hızlı yürütmek için ne yapabilirim?

Mysql ve veritabanları hakkında çok temel bilgilere sahibim ve öğrenmek istiyorum. Bakmam gereken yere işaret edebilir misin ve ne yapabilirim?

cevap

7

Eh, yapmak için iki büyük işleri :)

  1. nasıl sisteminizi daha güvenli yapmak zorunda (Ben hiçbir kod lütfen kendime kurmak istiyorum)? Eh, ihtiyacınız olan yerlerde SSL kullanın. Veriler önemli değilse, onsuz uzaklaşabilirsiniz. Yani, girişlerinizi ultra güvenli hale getirmek istiyorsanız, HTTPS'de ısrar edin. Bunun üstünde, şifreleri doğrudan karşılaştırmamanızı sağlayın, aksine şifrelerin karmalarını (bir tuzun eklenmesiyle) karşılaştırın. Ayrıca, web siteniz insanların hatırlanmasını sağlarsa, belirteç tabanlı bir yaklaşım kullanın. Bu, geçerli bir süre boyunca müşteriyle benzersiz bir çerez kimliği atamanıza olanak tanır. Bu aptalca değil, hiçbir şeyden iyidir. SSL giriş gereksinimlerinizle eşleştirilmiş, oldukça iyi olacak.

  2. Önbellek yöneticilerine bir göz atın. Ama yapmadan önce, en çok zaman geçiren bir gezgine sahip ol. Web sitenize hangi sayfalar çarpıyor? Bir kez, ne yazık ki, tamamen web sitesine bağlı olan bir önbellekleme stratejisi geliştirebileceğinizi anladıktan sonra. Bir site için ne işe yarıyor, senin için kabul edilemez. Ortak nesneleri saklamak için bir çeşit memcache kullanabilirsiniz, böylece temel "Ön sayfa" ve "Portal" sorguları etkin şekilde önbelleğe alınmalıdır. Kalan düzenli olarak ele alınmak zorunda kalacak.

+0

Bilgi için teşekkürler –

+0

HTTPS, SQL Injections'a karşı koruma sağlamaz. Neden önbellek sonuçları tablolarda değil? –

+0

@JamesM. Nasıl yaparım? –

İlgili konular