Veri PHP + MYSQL güvenliğini sağlamak için en iyi yol [kapalı]

5 Cevap php

Ben müşterilerimizin bir kısmını depolamak olacak bir uygulama inşa ediyorum detayları, biz hatırlamak ve güvenli tutmak için gereken kullanıcı adı / şifre, bilgi gibi şeyler.

Güvenli bir şekilde bu bilgileri saklamak için en iyi yöntemi nedir?

5 Cevap

Gitmek için ayrıntı değil bir sürü böyle bir açık uçlu soru. Ben okuma öneririm Chris Shiflett mükemmel "Essential PHP Security" Eğer başka gitmeden önce. Bu noktaya, kısa ve çok pratik.

Kitabın web sitesinde çok http://phpsecurity.org/ de mevcut tavsiye makul bir miktarı da var

Güvenliği konusunda çok iyi bir makale var Devlounge.

http://www.devlounge.net/code/php-security

Using a PHP framework for security

Eğer araştırma bir yük yapmadan hızlı bir PHP güvenlik kurulum almak istiyorsanız, bir PHP çerçeve iyi bir fikir olacaktır.

I CodeIgniter bir fanatiğiyim ama diğer seçenekleri CakePHP ve Zend bulunmaktadır.

Güvenlik için bir çerçeve kullanarak hemen denenmiş ve test edilmiş yöntemi almak anlamına gelecektir, ancak bir çerçeve öğrenmek için gerekli bazı zaman ve çaba olabilir.

Toplam list of PHP frameworks can be found on wikipedia.

Bildiğim kadarıyla şifreleri gitmek gibi parola hash saklamak gerekir. Eğer kullanıcının kimliğini doğrulamak zaman, onların girilen parola hash ve sakladığınız ne sonucu karşılaştırın. Bu şekilde gerçek şifre saklamak değildir.

Aslında oldukça basit. Hızlı bir MySQL veritabanı ve bir kullanıcı masa kurmak. Bu kullanıcı tabloda, başka bir sütuna bir sütun ve şifre bir karma sürümünde kullanıcı adlarını saklayın.

Ilave bir güvenlik olarak, ben rastgele 8 karakter dizesi oluşturmak ve her satırda de bu saklamak ister - Ben "Keycode" bu sütunu diyoruz. Doğru kullanıcı adı / şifre ile kullanıcı işaretleri, ben kendi oturum değişkenleri kimlik doğrulaması yanı sıra eşleşen "Keycode" saklayın.

Bu şekilde, oturum kimlik doğrulama doğru kullanıcı adı / şifre aramak, ama hızla db sorgulamak ve oturum değişkeninde saklanan "Keycode" satırında parolaya aynı olup olmadığını görmek için kontrol edemez.

Bile kullanıcı parolanızı bilir çünkü iyi çalışır.