Compare commits
3 commits
0917adccba
...
4f1a638b64
| Author | SHA1 | Date | |
|---|---|---|---|
| 4f1a638b64 | |||
| 683342ed6f | |||
| 588867c98b |
3 changed files with 37 additions and 25 deletions
|
|
@ -41,6 +41,15 @@ const textInputs = document.querySelectorAll('input[type="text"]')
|
||||||
const captcha = document.querySelectorAll('.captcha')
|
const captcha = document.querySelectorAll('.captcha')
|
||||||
const captchaInput = document.querySelectorAll('.captcha-input')
|
const captchaInput = document.querySelectorAll('.captcha-input')
|
||||||
const captchaVerifyButton = document.querySelectorAll('.captcha-verify')
|
const captchaVerifyButton = document.querySelectorAll('.captcha-verify')
|
||||||
|
const botBadge = document.createElement('div')
|
||||||
|
if (debugEnabled) {
|
||||||
|
botBadge.className = 'bot-badge'
|
||||||
|
document.body.appendChild(botBadge)
|
||||||
|
botBadge.setAttribute(
|
||||||
|
'style',
|
||||||
|
'position: fixed; top: 0; right: 0; z-index: 9999; background-color: red; color: white; font-weight: bold; height:20px; width:20px'
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
// Utility variables
|
// Utility variables
|
||||||
let startTime = Date.now()
|
let startTime = Date.now()
|
||||||
|
|
@ -71,6 +80,7 @@ function setUserInteracted() {
|
||||||
lastInteractionTime = currentTime
|
lastInteractionTime = currentTime
|
||||||
userInteracted = true
|
userInteracted = true
|
||||||
interactionCount++
|
interactionCount++
|
||||||
|
checkForBotBehavior()
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleMouseMove(event) {
|
function handleMouseMove(event) {
|
||||||
|
|
@ -110,26 +120,31 @@ function checkForBotBehavior() {
|
||||||
honeypotInput2.value !== '' ||
|
honeypotInput2.value !== '' ||
|
||||||
verifyEmailInput.value !== ''
|
verifyEmailInput.value !== ''
|
||||||
if (debugEnabled)
|
if (debugEnabled)
|
||||||
console.log(
|
if (!botDetected) {
|
||||||
'Bot Detected: ' +
|
botBadge.style.backgroundColor = 'green'
|
||||||
botDetected +
|
} else {
|
||||||
' userInteracted:' +
|
botBadge.style.backgroundColor = 'red'
|
||||||
userInteracted +
|
}
|
||||||
' interactionCount:' +
|
console.log(
|
||||||
interactionCount +
|
'Bot Detected: ' +
|
||||||
' timeSpent:' +
|
botDetected +
|
||||||
timeSpent +
|
' userInteracted:' +
|
||||||
' isStraightLine:' +
|
userInteracted +
|
||||||
isStraightLine +
|
' interactionCount:' +
|
||||||
' mousePositions:' +
|
interactionCount +
|
||||||
mousePositions.length +
|
' timeSpent:' +
|
||||||
' honeypotInput1:' +
|
timeSpent +
|
||||||
honeypotInput1.value +
|
' isStraightLine:' +
|
||||||
' honeypotInput2:' +
|
isStraightLine +
|
||||||
honeypotInput2.value +
|
' mousePositions:' +
|
||||||
' verifyEmailInput:' +
|
mousePositions.length +
|
||||||
verifyEmailInput.value
|
' honeypotInput1:' +
|
||||||
)
|
honeypotInput1.value +
|
||||||
|
' honeypotInput2:' +
|
||||||
|
honeypotInput2.value +
|
||||||
|
' verifyEmailInput:' +
|
||||||
|
verifyEmailInput.value
|
||||||
|
)
|
||||||
}
|
}
|
||||||
function handleSubmit(e) {
|
function handleSubmit(e) {
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ kommentar = 'age und hobbies sind honeypots'
|
||||||
<input type="email" id="email" name="email" requir >
|
<input type="email" id="email" name="email" requir >
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<input type="verify_email" id="verify_email" value="someValue" name="verify_email" >
|
<input type="verify_email" id="verify_email" name="verify_email" >
|
||||||
</div>
|
</div>
|
||||||
<div id="zsr-tooltip" data-tooltip="Bitte geben Sie eine gültie ZSR-Nummer, oder 'beantragt' ein.">
|
<div id="zsr-tooltip" data-tooltip="Bitte geben Sie eine gültie ZSR-Nummer, oder 'beantragt' ein.">
|
||||||
<label for="zsr_nummer">ZSR Nummer</label>
|
<label for="zsr_nummer">ZSR Nummer</label>
|
||||||
|
|
|
||||||
|
|
@ -23,10 +23,7 @@ try {
|
||||||
|
|
||||||
$bot = $_POST['tra'] ;
|
$bot = $_POST['tra'] ;
|
||||||
|
|
||||||
// Überprüfe, ob der Nutzer mit der Seite interagiert hat
|
if ($bot == 'true') {
|
||||||
$userInteracted = filter_input(INPUT_POST, 'userInteracted');
|
|
||||||
|
|
||||||
if ($bot) {
|
|
||||||
// Es handelt sich wahrscheinlich um einen Bot
|
// Es handelt sich wahrscheinlich um einen Bot
|
||||||
$subject = 'Botverdacht - ' . $subject;
|
$subject = 'Botverdacht - ' . $subject;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue