| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <?php
- error_reporting(E_ALL);
- $ip = trim($_GET['ip']);
- $token = trim($_GET['token']);
- $action = trim($_GET['action']);
- $db = new mysqli('localhost', 'ban', 'Blubb123-', 'ban');
- if ($db->connect_errno){
- die($db->connect_error);
- }
- $db->set_charset('utf8');
- function checkToken($token,$db) {
- $dbAction = $db->prepare("SELECT description FROM clients WHERE token = ?");
- $dbAction->bind_param('s',$token);
- $dbAction->execute();
- $dbAction->store_result();
- $dbAction->bind_result($desc);
- $dbAction->fetch();
- if ($dbAction->num_rows() == 1){
- echo "Client $desc";
- return true;
- }
- return false;
- }
- function checkAdmin($token,$db) {
- $dbAction = $db->prepare("SELECT description FROM clients WHERE token = ?");
- $dbAction->bind_param('s',$token);
- $dbAction->execute();
- $dbAction->store_result();
- $dbAction->bind_result($desc);
- $dbAction->fetch();
- if ($dbAction->num_rows() == 1){
- if($desc == 'admin') {
- return true;
- }
- }
- return false;
- }
- function set($ip,$db) {
- $dbAction = $db->prepare("INSERT IGNORE INTO list VALUES (?)");
- $dbAction->bind_param('i',$ip);
- return $dbAction->execute();
- }
- function delist($ip,$db) {
- $dbAction = $db->prepare("INSERT INTO delist ('ip') VALUES (?) ON DUPLICATE KEY count = count + 1");
- $dbAction->bind_param('i',$ip);
- $dbAction->execute();
- $dbAction = $db->prepare("SELECT count FROM delist WHERE ip = ?");
- $dbAction->bind_param('i',$ip);
- $dbAction->execute();
- $dbAction->store_result();
- $dbAction->bind_result($count);
- $dbAction->fetch();
- if ($count > 3){
- echo "Fehler, ". long2ip($ip) . " wurde zu oft delistet";
- return false;
- }
- $dbAction = $db->prepare("DELETE FROM list WHERE ip = ?");
- $dbAction->bind_param('i',$ip);
- $dbAction->execute();
- echo long2ip($ip) . " wurde delistet";
- return true;
- }
- switch($action) {
- case 'delist':
- if (checkAdmin($token,$db)){
- if(delist(ip2long($ip),$db)){
- echo "$ip delisted" . PHP_EOL;
- } else {
- echo "$ip not delisted" . PHP_EOL;
- };
- } else {
- echo "Admin token $token not registered" . PHP_EOL;
- };
- break;
- case 'blacklist':
- break;
- default:
- if (checkToken($token,$db)){
- if(set(ip2long($ip),$db)){
- echo " inserted $ip" . PHP_EOL;
- } else {
- echo " fehler" . PHP_EOL;
- };
- } else {
- echo "Client token $token not registered" . PHP_EOL;
- };
- }
|