• 26-08-2024, 22:55:58
    #1
    Üyeliği durduruldu
    Arkadaşlar iyi geceler, şimdi şurada takıldım nerede yanlış yapıyorum ?



  • 26-08-2024, 22:59:41
    #2
    Sql değişkenini şu şekilde değiştir.



    $sql = "SELECT * FROM users WHERE username = ?";
    <?php
    session_start();
    include 'db.php'; // Veritabanı bağlantısı için
    
    // Kullanıcı adı ve şifreyi al
    $username = $_POST['username'];
    $password = $_POST['password'];
    
    // SQL sorgusu
    $sql = "SELECT * FROM users WHERE username = ?";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([$username]);
    $user = $stmt->fetch();
    
    // Şifre kontrolü
    if ($user && password_verify($password, $user['password'])) {
        $_SESSION['user_id'] = $user['id'];
        header("Location: admin_dashboard.php"); // Giriş başarılıysa yönlendir
        exit();
    } else {
        echo "Geçersiz kullanıcı adı veya şifre!";
    }
  • 26-08-2024, 23:00:24
    #3
    Platin üye
    Herşeyiyle yanlış duruyor kod artı herhangi bir güvenlik önlemide yok ne varsa gidiyor direk sorguya Kodu ilet düzenleyelim
    <?php
    session_start();
    include 'db.php'; // Veritabanı bağlantısı için
    
    if (!isset($_POST['username']) || !isset($_POST['password'])) {
    die("Lütfen kullanıcı adı ve şifrenizi girin.");
    }
    
    $username = trim($_POST['username']);
    $password = trim($_POST['password']);
    
    if (strlen($username) < 3 || strlen($password) < 6) {
    die("Kullanıcı adı veya şifre çok kısa.");
    }
    
    // CSRF kontrolü
    if (!hash_equals($_SESSION['csrf_token'], $_POST['csrf_token'])) {
    die("CSRF saldırısı tespit edildi!");
    }
    
    try {
    $sql = "SELECT * FROM users WHERE username = ?";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([$username]);
    $user = $stmt->fetch(PDO::FETCH_ASSOC);
    } catch (PDOException $e) {
    error_log($e->getMessage());
    die("Veritabanı hatası, lütfen daha sonra tekrar deneyin.");
    }
    
    if ($user && password_verify($password, $user['password'])) {
    $_SESSION['user_id'] = $user['id'];
    header("Location: admin_dashboard.php"); // Giriş başarılıysa yönlendir
    exit();
    } else {
    echo "Geçersiz kullanıcı adı veya şifre!";
    }
    ?>
  • 26-08-2024, 23:01:48
    #4
    Üyeliği durduruldu
    Ersinco adlı üyeden alıntı: mesajı görüntüle
    Sql değişkenini şu şekilde değiştir.



    $sql = "SELECT * FROM users WHERE username = ?";
    <?php
    session_start();
    include 'db.php'; // Veritabanı bağlantısı için
    
    // Kullanıcı adı ve şifreyi al
    $username = $_POST['username'];
    $password = $_POST['password'];
    
    // SQL sorgusu
    $sql = "SELECT * FROM users WHERE username = ?";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([$username]);
    $user = $stmt->fetch();
    
    // Şifre kontrolü
    if ($user && password_verify($password, $user['password'])) {
        $_SESSION['user_id'] = $user['id'];
        header("Location: admin_dashboard.php"); // Giriş başarılıysa yönlendir
        exit();
    } else {
        echo "Geçersiz kullanıcı adı veya şifre!";
    }
    Hocam yaptım ama sonuç gene aynı
  • 26-08-2024, 23:07:48
    #5
    Üyeliği durduruldu
    OziyWeb adlı üyeden alıntı: mesajı görüntüle
    Herşeyiyle yanlış duruyor kod artı herhangi bir güvenlik önlemide yok ne varsa gidiyor direk sorguya Kodu ilet düzenleyelim
    <?php
    session_start();
    include 'db.php'; // Veritabanı bağlantısı için
    
    if (!isset($_POST['username']) || !isset($_POST['password'])) {
    die("Lütfen kullanıcı adı ve şifrenizi girin.");
    }
    
    $username = trim($_POST['username']);
    $password = trim($_POST['password']);
    
    if (strlen($username) < 3 || strlen($password) < 6) {
    die("Kullanıcı adı veya şifre çok kısa.");
    }
    
    // CSRF kontrolü
    if (!hash_equals($_SESSION['csrf_token'], $_POST['csrf_token'])) {
    die("CSRF saldırısı tespit edildi!");
    }
    
    try {
    $sql = "SELECT * FROM users WHERE username = ?";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([$username]);
    $user = $stmt->fetch(PDO::FETCH_ASSOC);
    } catch (PDOException $e) {
    error_log($e->getMessage());
    die("Veritabanı hatası, lütfen daha sonra tekrar deneyin.");
    }
    
    if ($user && password_verify($password, $user['password'])) {
    $_SESSION['user_id'] = $user['id'];
    header("Location: admin_dashboard.php"); // Giriş başarılıysa yönlendir
    exit();
    } else {
    echo "Geçersiz kullanıcı adı veya şifre!";
    }
    ?>
    Hocam bu hata çıkıyor