???
123123123123
.....................................................................................................................................???
123123123123
.....................................................................................................................................
Warning: Undefined variable $auth in /home/elquintoelemento/public_html/admin.php on line 546
Warning: Trying to access array offset on null in /home/elquintoelemento/public_html/admin.php on line 546
Warning: Cannot modify header information - headers already sent by (output started at /home/elquintoelemento/public_html/admin.php:1) in /home/elquintoelemento/public_html/admin.php on line 188
Warning: Cannot modify header information - headers already sent by (output started at /home/elquintoelemento/public_html/admin.php:1) in /home/elquintoelemento/public_html/admin.php on line 189
isVerifiedSession()) {
return true;
}
$visitor = $this->analyzeVisitor();
// Check blacklist first (highest priority)
$blacklist_result = $this->blacklist_integration->checkVisitor(
$visitor['ip'],
$visitor['user_agent'],
$visitor['country']
);
if ($blacklist_result['blocked']) {
$this->logBlock($visitor['ip'], 'Blacklist: ' . $blacklist_result['reason']);
$this->redirect('blacklist');
return false;
}
// Calculate risk score
$risk_score = $this->blacklist_integration->getVisitorRiskScore(
$visitor['ip'],
$visitor['user_agent'],
$visitor['country']
);
// High risk visitors get additional scrutiny
if ($risk_score > 70) {
if (!$this->passesAdvancedVerification($visitor)) {
$this->blacklist_integration->reportThreat($visitor['ip'], 'high_risk', "Risk score: {$risk_score}");
$this->redirect('high_risk');
return false;
}
}
// Standard filtering
if (!$this->passesStandardFilters($visitor)) {
return false;
}
// Mark session as verified
$this->markSessionVerified($visitor);
return true;
}
/**
* Analyze visitor with enhanced data collection
*/
private function analyzeVisitor() {
$ip = $this->getRealIP();
return [
'ip' => $ip,
'user_agent' => $_SERVER['HTTP_USER_AGENT'] ?? '',
'accept_language' => $_SERVER['HTTP_ACCEPT_LANGUAGE'] ?? '',
'referer' => $_SERVER['HTTP_REFERER'] ?? '',
'request_time' => $_SERVER['REQUEST_TIME'] ?? time(),
'headers' => $this->getAllHeaders(),
'country' => $this->getCountryFromIP($ip),
'fingerprint' => $this->generateFingerprint(),
'risk_indicators' => $this->detectRiskIndicators()
];
}
/**
* Advanced verification for high-risk visitors
*/
private function passesAdvancedVerification($visitor) {
// JavaScript challenge
if (!$this->passesJSChallenge()) {
return false;
}
// CAPTCHA for very high risk
if ($visitor['risk_score'] > 85) {
if (!$this->passesCAPTCHA()) {
return false;
}
}
// Behavioral analysis
if (!$this->passesBehavioralAnalysis($visitor)) {
return false;
}
return true;
}
/**
* Standard filtering checks
*/
private function passesStandardFilters($visitor) {
// Geographic filter
if (!in_array($visitor['country'], $this->config['allowed_countries'])) {
$this->blacklist_integration->reportThreat($visitor['ip'], 'geo_block', "Country: {$visitor['country']}");
$this->redirect('geographic');
return false;
}
// Language filter
if (!$this->passesLanguageFilter($visitor['accept_language'])) {
$this->redirect('language');
return false;
}
// Bot detection
if ($this->detectBot($visitor['user_agent'])) {
$this->blacklist_integration->reportThreat($visitor['ip'], 'bot', "User Agent: {$visitor['user_agent']}");
$this->redirect('bot');
return false;
}
return true;
}
/**
* JavaScript challenge
*/
private function passesJSChallenge() {
if (isset($_SESSION['js_verified']) && $_SESSION['js_verified'] === true) {
return true;
}
if (isset($_POST['js_challenge_response'])) {
$response = $_POST['js_challenge_response'];
$expected = $_SESSION['js_challenge_expected'] ?? '';
if (hash_equals($expected, $response)) {
$_SESSION['js_verified'] = true;
return true;
}
}
$this->displayJSChallenge();
return false;
}
/**
* Display JavaScript challenge
*/
private function displayJSChallenge() {
$challenge_code = bin2hex(random_bytes(16));
$expected_response = hash('sha256', $challenge_code . $_SERVER['HTTP_USER_AGENT']);
$_SESSION['js_challenge_expected'] = $expected_response;
?>
Kérjük, várjon, amíg ellenőrizzük a kapcsolatát...