İnsan Doğrulaması İle Login Ekranı

ByFelez

Uzman üye
9 Tem 2013
1,818
1,774
rx96zb2.png


5mb48ev.png


lv1b54q.png


*Doğrulama Kodu Doğru Girilip Giriş Yap Butonuna Basıldığında Yeni Bir Doğrulama Kodu Oluşturuluyor Hemen. Son Fotoğrafta kafanız karışmasın.

Yönlendirilecek bir sayfa olsaydı giriş bilgileri ve doğrulama başarılı bir şekilde yapıldığında yönlendirme olacağından böyle olmazdı.

Burada sadece Giriş Sayfası Simüle Ediliyor.

Doğrulama Sistemi bu örnekte istemcide çalışır. Gerçek projelerde bu sunucuda çalışmaktadır.

Kod:
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Login Ekranı</title>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
  <style>
    body {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 100vh;
      background-color: #f0f0f0;
    }
    .login-container {
      width: 300px;
      padding: 20px;
      background-color: #fff;
      border-radius: 8px;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    }
  </style>
</head>
<body>

<div class="login-container">
  <h2 class="text-center">Giriş Yap</h2>
  <form id="loginForm">
    <div class="form-group">
      <label for="username">Kullanıcı Adı</label>
      <input type="text" class="form-control" id="username" required>
    </div>
    <div class="form-group">
      <label for="password">Şifre</label>
      <input type="password" class="form-control" id="password" required>
    </div>
    <div class="form-group">
      <label for="captcha">Captcha</label>
      <input type="text" class="form-control" id="captchaInput" required>
      <img src="#" id="captchaImg" alt="Captcha" style="margin-top: 5px;">
    </div>
    <button type="submit" class="btn btn-primary btn-block">Giriş Yap</button>
  </form>
  <div class="alert alert-success mt-3" id="successAlert" style="display: none;">
    Yönlendiriliyorsunuz: Giriş Başarılı
  </div>
  <div class="alert alert-danger mt-3" id="errorAlert" style="display: none;">
    Doğrulama başarısız. Lütfen tekrar deneyin.
  </div>
</div>

<script>
  // Basit bir captcha oluşturma
  function generateCaptcha() {
    const captcha = Math.random().toString(36).substr(2, 6).toUpperCase();
    document.getElementById('captchaImg').setAttribute('src', `https://dummyimage.com/120x40/000/fff&text=${captcha}`);
    return captcha;
  }

  // Sayfa yüklendiğinde captcha oluştur
  document.addEventListener('DOMContentLoaded', function() {
    generateCaptcha();
  });

  // Form gönderildiğinde kontrol
  document.getElementById('loginForm').addEventListener('submit', function(event) {
    event.preventDefault();
    const username = document.getElementById('username').value;
    const password = document.getElementById('password').value;
    const enteredCaptcha = document.getElementById('captchaInput').value.toUpperCase();
    const captcha = document.getElementById('captchaImg').getAttribute('src').split('&text=')[1];

    // Bu kısımda gerçek bir sunucuya göndererek kullanıcı adı ve şifreyi doğrulayabilirsiniz.
    // Örneğin, AJAX kullanarak sunucuya POST isteği gönderilebilir.

    if (enteredCaptcha === captcha) {
      document.getElementById('successAlert').style.display = 'block';
      document.getElementById('errorAlert').style.display = 'none';
      // Burada genellikle başarılı giriş sonrası yönlendirme veya başka işlemler yapılır.
    } else {
      document.getElementById('successAlert').style.display = 'none';
      document.getElementById('errorAlert').style.display = 'block';
    }

    // Yeniden captcha oluştur
    generateCaptcha();
  });
</script>

</body>
</html>

 
Son düzenleme:

alexandre20

Katılımcı Üye
13 Tem 2022
908
715
captcha'yı ekrana olduğu gibi yazdırırsanız botlar bunu htmlden parse edip çıkarır, konunuza biraz daha emek ve zaman harcayarak en azından bir text2png + distortion gibi bir işlem yapıp resim olarak gösterebilirdiniz.... malesef faydasız bir konu olmuş ve bunun bir captcha koruması olarak kullanılması kullanıcıyı yavaşlatmaktan başka bir işe yaramayacaktır

ayrıca captcha'yı servera göndermediğiniz için işlemin gerçek olup olmadığını server bilemez, request'ler direkt olduğu gibi gönderilebilir.
 

ByFelez

Uzman üye
9 Tem 2013
1,818
1,774
captcha'yı ekrana olduğu gibi yazdırırsanız botlar bunu htmlden parse edip çıkarır, konunuza biraz daha emek ve zaman harcayarak en azından bir text2png + distortion gibi bir işlem yapıp resim olarak gösterebilirdiniz.... malesef faydasız bir konu olmuş ve bunun bir captcha koruması olarak kullanılması kullanıcıyı yavaşlatmaktan başka bir işe yaramayacaktır

ayrıca captcha'yı servera göndermediğiniz için işlemin gerçek olup olmadığını server bilemez, request'ler direkt olduğu gibi gönderilebilir.
Burada sıfırdan bir web sitesi yazmadım. Basitçe mantığın uygulandığı bir ekran var. Login ekranında girilen bilgilerde rastgele bilgiler bir server bağlantısı vs. yok.
 

alexandre20

Katılımcı Üye
13 Tem 2022
908
715
Burada sıfırdan bir web sitesi yazmadım. Basitçe mantığın uygulandığı bir ekran var. Login ekranında girilen bilgilerde rastgele bilgiler bir server bağlantısı vs. yok.
Anlıyorum, bir örnek göstermişsiniz ve sadece mantığı anlatmak istemişsiniz ama bu şekilde yanlış yönlendirme yaparak araştırma yapan kişilerin hata yapmasına sebep olabilirsiniz çünkü internetin hiçbir yerinde bir captcha, browser'da oluşturulmaz. Her zaman server'da oluşturulur ve server'da doğrulanır.
 

ByFelez

Uzman üye
9 Tem 2013
1,818
1,774
Anlıyorum, bir örnek göstermişsiniz ve sadece mantığı anlatmak istemişsiniz ama bu şekilde yanlış yönlendirme yaparak araştırma yapan kişilerin hata yapmasına sebep olabilirsiniz çünkü internetin hiçbir yerinde bir captcha, browser'da oluşturulmaz. Her zaman server'da oluşturulur ve server'da doğrulanır.
Haklısınız, Biraz daha düzenlemeye çalıştım.
 

yuathay

Katılımcı Üye
7 Mar 2023
377
180
Gitti
eleştiren adamlar gitsin boş konu açan adamları eleştirsin forumda bu adam gibi adamları zor bulursunuz kaynak kod paylaşan adam herşeydir eline sağlık abi
 

ByFelez

Uzman üye
9 Tem 2013
1,818
1,774
Hmmm, Başarılı Eline Sağlıkk
eleştiren adamlar gitsin boş konu açan adamları eleştirsin forumda bu adam gibi adamları zor bulursunuz kaynak kod paylaşan adam herşeydir eline sağlık abi
Teşekkür ederim sağolun.

*Konuyu açma amacım burada temel basit mantığa değinmekti. Ben biliyorum Captcha bu şekilde değilde farklı şekilde yapılandırmam gerektiğini ya da Oluşan Güvenlik Açıklarını. Webe açmadığım bir projenin üzerinde kafa patlamadım. Konuyu inceleyen adama basit 2-3 tane bilgi kazandıracaksa ben konuyu açarım yoluma devam ederim yoksa bende bilirdim burada yüzlerce satırlık kod satırlarını paylaşmayı.

Basit temeli anlatmışsın gayet iyi, eline sağlık.
Eyvallah

Güzel konu eleştirilerde mükemmel!
Teşekkürler
 
Moderatör tarafında düzenlendi:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.