PHP nedir bilgi sitesi kalitesini sağlamak ve güvenli tutmak için mağaza / muhafaza gerekir?

2 Cevap php

MY PLATFORM: PHP & mySQL

MY SITUATION:

Ben bir uygulama inşa ediyorum. kullanıcıların nerede ben sağlayan hizmetler için bir hesap için kayıt olabilirsiniz. Ben kendi bir hesap oluşturabilirsiniz tüm dünyada birden fazla hesap ve kullanıcılar için kaydolarak bir kullanıcıyı kısıtlamak istiyorum. Bu varlık dedi:

  1. Ne birden fazla hesap önlemek ve onlar benim web sitesinin güvenliği ile ilgili bazı yaramazlık başvurmak durumunda bir kullanıcı izlemek sağlamak için ne yapabilirim?

  2. Ben yönetim amaçları için kullanıcı hakkında oturum hangi detayları gerekiyor? IP? Tarayıcı bilgiler? Başka ne? (Bonus: Eğer listeleyebilirsiniz ise neden, bu çok yararlı olacaktır)

  3. Kaç geçmiş giriş kullanıcı kayıt ve muhafaza edilmelidir? Nasıl (geçmiş oturumları size önerilen sayısı) çok yardımcı olacaktır?

  4. Size yararlı olabilir herhangi bir maliyet ve diğerleri kaçırılmaması gerektiğini düşünüyorum ne listeleyin.

Şimdiden teşekkür ederim.

2 Cevap

Peki, ilk kapalı:

Iş enviorments, okullar ve diğer kurumsal erişim noktaları görüldüğü gibi birden fazla bilgisayar, tek bir IP adresi üzerinde bulunan olabilir gibi IP Adresi, bir kullanıcıyı tanımlayan benzersiz yol değildir.

Ayrıca

Kişinin kimliği konusunda emin olmak için kesin bir yolu yoktur. Sadece kişi ne söyler kapalı gidebilirsiniz. Sen hesapların e-posta adresi başına 1 hesabı sınırlayabilir, ancak bu geçici bir çözüm kolay yolu vardır. Denemek ilgili herhangi bir diğer yöntem ile aynı.

Yani, biz sonucuna varabiliriz:

Gerçekten bir kullanıcı sadece 1 hesabını yapar emin olmak için bir yol yoktur. Her zaman yüklü engelleyici aşmanın yolları olacak gibi gerçekten yapan bir sistemi uygulamak için çalışırken rahatsız olmamalıdır.

Yapabileceğiniz tek şey, gerçek e-posta adresi başına 1 hesabı sağlamak olduğunu ve gmail bana bu e-posta adresleri tüm kullanmanıza olanak sağlar gibi bir streç:

myemail@gmail.com
myemail+1@gmail.com
// I can put anything after the '+' sign. Gmail ignores it.

m.yemail@gmail.com
m.y.email@gmail.com
// Gmail doesn't care about dots in email addresses, they all go to me.

Gördüğünüz gibi, ben tüm benzersiz e-posta adresleri bir LOT yapabilir, ama hepsi benim e-posta kutunuza doğrudan gitmek.

Ve bu benim kişisel e-posta saymıyor @chacha102.com. Bir catch-all e-posta ile, ben @chacha102.com içimde bir şey koymak ve bana doğrudan gidecek. Ben bile bir betik rastgele bir karma oluşturmak için yapmak ve ona @chacha102.com append olabilir. Ben e-posta adresleri neredeyse sonsuz bir miktar olurdu.

Yani, benim tavsiyem? Başka bir şey düşün.


Sorularınızın kalanını cevaplamak için:

Muhtemelen önemli olaylardan bir idari günlüğü tutmalısınız. StackOverflow bir rozet var ben kazanmak tüm temsilcisi, bir günlük var, ve ben açmış büyük olasılıkla zaman içeri sitenize 'kontrol noktaları' bulun ve bunları oturum gibi.

Sistem tarafından gerekirse muhtemelen sonsuza dek yasa gereği halinde 30 gün veya daha uzun süre boyunca bu günlükleri tutmak, ya da olmalıdır. (Bir temsilcisi recalc üzerinde başından itibaren gidebilirsiniz sağlar gibi StackOverflow muhtemelen TÜM ünüm inişler ve çıkışlar vardır).


You should probably check out this StackOverflow question:
http://stackoverflow.com/questions/72394/what-should-a-developer-know-before-building-a-public-web-site

First and foremost, there is no way your website can be 100% safe.

(evil piano music)

Sürece bildiğiniz gibi, biz taşıyabilirsiniz.

Ne birden fazla hesap önlemek ve onlar benim web sitesinin güvenliği ile ilgili bazı yaramazlık başvurmak durumunda bir kullanıcı izlemek sağlamak için ne yapabilirim?

Gerçekten birden fazla hesap önlemek için kesin bir yolu yoktur, kullanıcılar bu sorunun üstesinden gelebilirsiniz. Bir kullanıcı fesat eylemleri gerçekleştiren eğer izlemek zor olacak, herhangi bir zararlı faaliyetleri önlemek için kullanıcı girişi doğrulama ve kaçan odaklanarak daha iyi olur.

Ben yönetim amaçları için kullanıcı hakkında oturum hangi detayları gerekiyor? IP? Tarayıcı bilgiler? Başka ne? (Bonus: Eğer listeleyebilirsiniz ise neden, bu çok yararlı olacaktır)

Ben kullanıcının IP adresinizi giriş çıkmak ne söyleyemem, ama StackOverflow gibi bir web sitesi, bu kullanıcıya göstermek için faydalı bir şeydir kendi hesabına oldu kullanıcıyı bilgilendirmek için kullanılır. Tarayıcı bilgi mutlaka idari amaçlar için gerekli değildir.

Size yararlı olabilir herhangi bir maliyet ve diğerleri kaçırılmaması gerektiğini düşünüyorum ne listeleyin

Ben hiçbir güvenlik-guru duyuyorum, ama vurgulamak tüm web sitenizin herhangi enjeksiyonları olmasını istemiyorum veritabanları ile çalışırken, özellikle giriş kaçan ve doğrulama üzerinde odak noktası. Parametreli sorgular kullanarak içine bak.

İyi şanslar.