• 24-08-2023, 18:49:23
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Hepinize merhaba arkadaşlar, forumda yeniyim bir hatam olursa lütfen uyarın. Ben bir giriş yapma formu ayarladım buna 'login ekranı' diyelim. Yapmak istediğim şey burada bir kişi giriş yapmadan login ekranı harici bir yere gidemesin. Yani mesela giriş yapmadan tarayıcı çubuğuna 'domain.com/anasayfa' yazarsa sistem kontrol etsin ve giriş yapmadıysa bu sayfaya gidemesin. Bir de zaten eğer daha önce giriş yapmışsa otomatik olarak '/anasayfa' kısmına aktarılsın. Aşşağıya kodlarımı bırakıyorum, nereyi nasıl yapacağımı anlatırsanız çok sevinirim. Şimdiden teşekkürler.



  • 24-08-2023, 18:52:15
    #2
    Hocam sql injection açığı yaratacak kodlar yazıyorsunuz, pm den anydesk iletin yardımcı olayım.
  • 24-08-2023, 18:52:32
    #3




    tam şu araya

    $_SESSION["login"] = 1;


    anasayfa dediğiniz yerin en başına da

    if($_SESSION["login"] !=1){
    die("üye girişi yapmalısın...");
    }
  • 24-08-2023, 18:56:07
    #4
    F12 adlı üyeden alıntı: mesajı görüntüle




    tam şu araya

    $_SESSION["login"] = 1;


    anasayfa dediğiniz yerin en başına da

    if($_SESSION["login"] !=1){
    die("üye girişi yapmalısın...");
    }
    Hocam anasayfanın başı aşşağıda ki şekilde ekstra eklemem gereken birşey var mı?



    Yoksa şu şekilde bırakıyorum;
  • 24-08-2023, 19:04:21
    #5
    F12 adlı üyeden alıntı: mesajı görüntüle




    tam şu araya

    $_SESSION["login"] = 1;


    anasayfa dediğiniz yerin en başına da

    if($_SESSION["login"] !=1){
    die("üye girişi yapmalısın...");
    }
    "/anasayfa" URL'sine postman ile session login 1 post isteği atan geçer. Hiç güvenli yöntem değil.
  • 24-08-2023, 19:06:19
    #6
    login.php

    <?php
    session_start();
     
    $servername = "localhost";
    $username = "kullanici_adi";
    $password = "sifre";
    $dbname = "veritabani_adi";
    
    $conn = new mysqli($servername, $username, $password, $dbname);
    
     
    if ($conn->connect_error) {
        die("Bağlantı hatası: " . $conn->connect_error);
    }
    
     
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $username = $_POST["username"];
        $password = $_POST["password"];
    
        // Kullanıcı girişi sorgusu
        $sql = "SELECT * FROM users WHERE username = ? AND password = ?";
        $stmt = $conn->prepare($sql);
        $stmt->bind_param("ss", $username, $password);
    
        if ($stmt->execute()) {
            $result = $stmt->get_result();
            if ($result->num_rows === 1) {
                $user_data = $result->fetch_assoc();
                echo "Giriş başarılı. Hoş geldiniz, " . $user_data["username"];
                
            } else {
                echo "Kullanıcı adı veya şifre yanlış.";
            }
        } else {
            echo "Sorgu hatası: " . $stmt->error;
        }
    
        $stmt->close();
    }
    
    // Veritabanı bağlantısını kapat
    $conn->close();
    ?>
    
    
        <form method="post" action="login.php">
            Kullanıcı Adı: <input type="text" name="username"><br>
            Şifre: <input type="password" name="password"><br>
            <input type="submit" value="Giriş">
        </form>

    bunu da anasayfa.php nin en üstüne

    <?
    
    session_start();
    if(!isset($_SESSION['username'])){
         die('Bu sayfaya üyelikle alıyoruz buradan --->  <a href="login.php">Giriş yap</a>)';
    } else {
        echo "Hoş geldiniz, " . $_SESSION['username'] . "!";
    }
    ?>
  • 24-08-2023, 19:10:05
    #7
    Hocam ben tam yapamadım karıştırmıyim diye loginin kodlarını aşşağıya bırakıyorum rica etsem
    <form method="post" action="login.php">
    Kullanıcı Adı: <input type="text" name="username"><br>
    Şifre: <input type="password" name="password"><br>
    <input type="submit" value="Giriş">
    </form>
    bu verdiğiniz kodları oraya ayarlar mısınız?

    <form method="post" action="login.php">
      <div class="mb-3">
      <input type="text" class="form-control" name="username" placeholder="Kullanıcı adı">
      </div>
      <div class="mb-3">
      <input type="password" class="form-control" name="password" placeholder="Parola">
      </div>
      <div class="mb-3 form-check">
        <input type="checkbox" class="form-check-input" id="exampleCheck1">
        <label class="form-check-label" for="exampleCheck1">Beni hatırla</label>
      </div>
      <button type="submit" class="btn btn-primary btn-login">Giriş</button>
    </form>
  • 24-08-2023, 19:53:45
    #8
    DogukanX adlı üyeden alıntı: mesajı görüntüle
    Hocam sql injection açığı yaratacak kodlar yazıyorsunuz, pm den anydesk iletin yardımcı olayım.
    Hocam müsait olduğunuzda açıklayabilir misiniz
  • 24-08-2023, 20:01:02
    #9
    DesDeRe adlı üyeden alıntı: mesajı görüntüle
    Hocam müsait olduğunuzda açıklayabilir misiniz
    Tam olarak neyi hocam