
Ders 16 — Parola Güvenliği ve Yetkilendirme
Bu dersin temel sorusuKullanıcı parolalarını ve yetkilerini nasıl koruruz?
Öğrenme hedefleri
Parola hash’lemenin neden gerekli olduğunu açıklayabilecek, güvenli parola kaydı ve doğrulaması yapabilecek, kimlik doğrulama ile yetkilendirme arasındaki farkı ayırt edebileceksiniz.
16.1. Hash nedir?
Hash, veriyi tek yönlü bir işlemle dönüştüren yapıdır. Parolanın kendisini saklamak yerine hash’ini saklarız.PHP Kod:
$hash = password_hash($parola, PASSWORD_DEFAULT);
Giriş sırasında:
PHP Kod:
if (password_verify($parola, $kullanici["password_hash"])) {
echo "Giriş başarılı.";
}
16.2. Kimlik doğrulama ve yetkilendirme
Kimlik doğrulama , kullanıcının kim olduğunu kontrol etmektir. Yetkilendirme , doğrulanmış kullanıcının hangi işlemleri yapabileceğini belirlemektir.Örneğin bir kullanıcı giriş yapmış olabilir, ancak yalnızca yönetici ürün silebilir.
PHP Kod:
if (($_SESSION["rol"] ?? "user") !== "admin") {
http_response_code(403);
exit("Bu işlem için yetkiniz yok.");
}
16.3. Oturum kimliğini yenilemek
Başarılı girişten sonra oturum kimliğini yenilemek iyi bir güvenlik uygulamasıdır:PHP Kod:
session_regenerate_id(true);
$_SESSION["kullanici_id"] = $kullanici["id"];
Parola Güvenliği ve Yetkilendirme (php 16.ders)
