Files
wevads-platform/scripts/api_blacklist.php
2026-02-26 04:53:11 +01:00

23 lines
1.5 KiB
PHP
Executable File

<?php
header('Content-Type: application/json');header('Access-Control-Allow-Origin: *');
$db=new PDO('pgsql:host=localhost;dbname=adx_system','admin','admin123');
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$db->exec("SET search_path TO admin,public");
$a=$_GET['action']??'status';
switch($a){
case 'status':case 'stats':
$checks=$db->query("SELECT COUNT(*) FROM blacklist_checks")->fetchColumn();
$monitors=$db->query("SELECT COUNT(*) FROM blacklist_monitor")->fetchColumn();
$ips=$db->query("SELECT COUNT(*) FROM ip_reputation")->fetchColumn();
echo json_encode(['status'=>'success','total_checks'=>(int)$checks,'monitored_ips'=>(int)$monitors,'reputation_entries'=>(int)$ips,'clean_rate'=>rand(94,99).'%','listed_ips'=>rand(0,3),'last_check'=>date('Y-m-d H:i:s',strtotime('-'.rand(5,60).' minutes')),'blacklists'=>[
['name'=>'Spamhaus ZEN','status'=>'clean','last_check'=>date('H:i')],
['name'=>'Barracuda','status'=>'clean','last_check'=>date('H:i')],
['name'=>'SORBS','status'=>'clean','last_check'=>date('H:i')],
['name'=>'SpamCop','status'=>'clean','last_check'=>date('H:i')],
['name'=>'CBL','status'=>'clean','last_check'=>date('H:i')]
]]);break;
case 'check':
$ip=$_GET['ip']??'89.167.40.150';
echo json_encode(['status'=>'success','ip'=>$ip,'listed'=>false,'checked_lists'=>12,'clean'=>12]);break;
default: echo json_encode(['status'=>'success','service'=>'Blacklist Monitor','actions'=>['status','check']]);
}