Yönetici / personel panelinin basit bir uygulaması?

3 Cevap php

Yeni bir proje bunu yönetici ve personeli için basit bir paneli (sayfa) gerektirir:

  • Tercihen http üzerinden gelen SSL ya da herhangi bir dijital Ceritification şeyler, basit bir giriş kullanmaz sadece iyi olacak.
  • Temel tek admin olarak giriş sağlar kimlik ve grup "personel" olarak herhangi bir personel vardır. İdeal olarak, "kimlik bilgileri (adı-hashedpassword çifti)" MySQL saklanır.
  • Orada bir paketi veya strateji kodu olup olmadığını basit bir yapılandırma basittir.
  • bir yerde (PHP oturum?) bir şekilde (bir şey yapmadan önce kullanıcı grubunu kontrol etmek için her sayfanın başında bir komut dosyası içerir?), bu korumalı sayfaya erişmek ve giriş formuna ona / onu yönlendirmek için herhangi bir geçersiz kullanıcı girişimi algılar.
  • hala güvenlik yüksek kaliteyi devam ederken, bir şey ben çok endişeleniyorum.

Açıkçası ben Internet güvenliği hakkında çok az bilgiye sahip, ve ne kadar modern WordPress / Joomla bu işlemek CMS gibi.

Ben sadece benim aklımda tek bir şey var: Ben net üzerinden kullanıcı adı ve şifre çifti alır herhangi bir hacker sisteme giriş için kullanabilirsiniz edemez emin olmak için şifreyi (? SHA1) karma bir tuz kullanmak gerekir. Ve bu istemci emin olmak için istediği şeydir.

Ama gerçekten nereden başlayacağınızı emin değilim, herhangi bir fikir?

3 Cevap

HTTPS kullanılması mutlak bir gereklilik olduğu ve oturumun ömrü boyunca kullanılmalıdır. Bir saldırganın bir (koklama ya da XSS) elde edebilirsiniz eğer session id tarayıcılar kimlik doğrulaması için kullanılır unutmayın ve sonra bir kullanıcı adı / parola gerekmez. Bu OWASP Top 10 2010 A3 Broken Authentication and Session Management ile ortaya koydu. Eğer güvenli oturumu uygulamak isterseniz bu bağlantıyı okumalısınız.

md4, md5 SH0 ve sha1 tüm kırık bir mesaj fonksiyonları sindirmek ve şifreler için kullanılan olamaz. Sha-2 ailesinin herhangi bir üyesi, iyi bir seçimdir, sha256 çok büyük ve parolalar için mükemmel bir seçimdir.

Sen absolutely never ağında bir parola karma aktarmak veya bir kullanıcı / saldırgan bunu dökmek gerekir. Eğer kimlik doğrulaması için sunucuya bir karma gönderiyorsanız, o zaman sistem içine bir very serious açığını girmiştik. Parola karma injeciton kullanarak sql sonra bu karma sadece parola karma çatlamak ihtiyaç atlayarak, doğrulamak için tekrar edilebilir, veritabanından elde edilebilir. Eğer düz metin parolaları depolamak gibi budur.

Sivilceyi yeniden icat, sizin oturum durumunu asla korumak için $ _SESSION ve session_start () kullanın. Varsayılan PHP oturum işleyicisi güvenli ve neye ihtiyacınız yapacak.

session_start();
if(!$_SESSION['logged_in']){
   die("Authentication required!");
}

Ayrıca sistem içine CSRF koruma uygulamak için emin olun. CSRF bir saldırganın kullanarak istekleri göndermek için tarayıcınızı zorlayarak idari paneline erişebilirsiniz. Bu XSS için uygulamayı test etmek emin olun iyi bir serbest xss scanner, yine xhr kullanarak veya değerini alarak bir doğrulanmış oturumu kaçırmak için kullanılan olabilir xss document.cookie. Ayrıca wapiti hile yapacak, SQL Enjeksiyon ve diğer güvenlik açıklarını test etmek iyi bir fikirdir.

Bu ağ trafiğini oldukça kolay olduğu gibi SSL kullanarak değil tüm sistemde oldukça önemli bir delik bırakacak