• Hallo RT.
    Ich hab ein Frage... ich muss unbedingt eine Tabelle einfügen.
    Mir wurde der Code gegeben. Wenn ich ihn in Navicat -> Query einfügen möchte kommt Error.


    CREATE TABLE `ddos_blacklist` (`ip` VARCHAR (15) NOT NULL)
    CREATE TABLE `ddos_temp` (`ip` VARCHAR (15) NOT NULL, `zeit` INT NOT NULL, `faktor` INT NOT NULL)


    Kann jemand den Code so ändern das die Tabellen in Navicat erstellt werden?


    In Liebe euer GTAFreak!

  • Hab mich gerade mal im Internet umgeschaut und das hier gefunden (ist eine Alternative zu deiner Version) :

    //DB-Verbindung
    $mysqlhost="DB-Adresse";
    $mysqluser="DB-User";
    $mysqlpwd="DB-Passwort";
    $mysqldb="DB-Name";

    $connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die ("Verbindung fehlgeschlagen!");
    mysql_select_db($mysqldb, $connection);

    //Einmalig DB anlegen
    mysql_query("CREATE TABLE `ddos_blacklist` (`ip` varchar (15) NOT NULL)");
    mysql_query("CREATE TABLE `ddos_temp` (`ip` varchar (15) NOT NULL, `zeit` int NOT NULL, `faktor` int NOT NULL)");

    In den PHP-Skript einkopieren, Daten eintragen, Datei im Webbrowser aufrufen, Datei wieder vom Server löschen.

    Anti-DDos Script mit PHP und MySQL | Marvin Menzerath - Tutorials & Reviews zur Technikwelt

    Die Schriftsteller können nicht so schnell schreiben, wie die Regierung Kriege machen; denn das Schreiben verlangt Denkarbeit.

  • Datenbank anlegen
    Das PHP-Script benötigt eine MySQL-Datenbank mit zwei Tabellen. Diese werden durch folgende SQL-Befehle erzeugt:


    CREATE TABLE `ddos_blacklist` (`ip` VARCHAR (15) NOT NULL)
    CREATE TABLE `ddos_temp` (`ip` VARCHAR (15) NOT NULL, `zeit` INT NOT NULL, `faktor` INT NOT NULL)

    Alternativ:

    Alternativ kannst du aber auch Folgendes in ein PHP-Skript kopieren, deine Daten eintragen, die Datei im Webbrowser aufrufen und danch die Datei wieder vom Server löschen(!).

    //DB-Verbindung
    $mysqlhost="DB-Adresse";
    $mysqluser="DB-User";
    $mysqlpwd="DB-Passwort";
    $mysqldb="DB-Name";

    $connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die ("Verbindung fehlgeschlagen!");
    mysql_select_db($mysqldb, $connection);

    //Einmalig DB anlegen
    mysql_query("CREATE TABLE `ddos_blacklist` (`ip` varchar (15) NOT NULL)");
    mysql_query("CREATE TABLE `ddos_temp` (`ip` varchar (15) NOT NULL, `zeit` int NOT NULL, `faktor` int NOT NULL)");

    Script einrichten
    Nun musst du noch das gesamte Script nach deinen Wünschen anpassen und an einem beliebigen Platz auf deinem Webserver speichern.

    Spoiler anzeigen

    <?php
    /****
    * Anti-DDoS Script
    * Version 1.1.1
    * (c) 2012-2013: Marvin Menzerath
    * http://menzerath.eu
    *
    ****/

    ///Einstellungen///
    //DB-Verbindung
    $mysqlhost="DB-Adresse";
    $mysqluser="DB-User";
    $mysqlpwd="DB-Passwort";
    $mysqldb="DB-Name";

    //Einmalig DB anlegen
    //mysql_query("CREATE TABLE `ddos_blacklist` (`ip` varchar (15) NOT NULL)");
    //mysql_query("CREATE TABLE `ddos_temp` (`ip` varchar (15) NOT NULL, `zeit` int NOT NULL, `faktor` int NOT NULL)");

    $MaxDiff = 2; //Zeit zwischen zwei Anfragen, bis Faktor um 1 erhöht wird
    $MaxFaktor = 20; //Max. Faktor-Wert
    ///Ende der Einstellungen///

    $UserIP = $_SERVER['REMOTE_ADDR']; //UserIP in Variable speichern
    $PHPtime = time(); //Zeit in Variable speichern

    //Verbindung zur Datenbank:
    $connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd);
    mysql_select_db($mysqldb, $connection);

    //IP in BlackList-DB suchen
    $blRequest = "SELECT COUNT(ip) FROM `ddos_blacklist` WHERE `ip` = '$UserIP'";
    $blRequestResult = mysql_query($blRequest);
    $blResult = mysql_fetch_row($blRequestResult);
    $blacklisted = $blResult[0];

    //Wenn dort vorhanden: Umleitung
    if ($blacklisted != 0) {
    header('Location: http://google.com/');
    exit;
    }

    //IP in Temp-DB suchen
    $tdbRequest = "SELECT COUNT(ip) FROM `ddos_temp` WHERE `ip` = '$UserIP'";
    $tdbRequestResult = mysql_query($tdbRequest);
    $tdbResult = mysql_fetch_row($tdbRequestResult);
    $templisted = $tdbResult[0];

    //IP schon in TempDB vorhanden?
    if ($templisted == 0) {
    mysql_query("INSERT INTO `ddos_temp` (`ip`, `zeit`, `faktor`) VALUES ('$UserIP', '$PHPtime', 1)"); //Noch nicht vorhanden, also Eintrag anlegen
    }

    //IP schon in TempDB vorhanden?
    if ($AbfrageTDB == 0) {
    mysql_query("INSERT INTO `ddos_temp` (`ip`, `zeit`, `faktor`) VALUES ('$UserIP', '$PHPtime', 1)"); //Noch nicht vorhanden, also Eintrag anlegen
    } else {
    //Zeit aus DB holen
    $dbTimeRequest = "SELECT `zeit` FROM `ddos_temp` WHERE `ip` = '$UserIP'";
    $dbTimeRequestResult = mysql_query($dbTimeRequest);
    $dbTimeResult = mysql_fetch_row($dbTimeRequestResult);
    $DBTime = $dbTimeResult[0];

    $PHPtime = time(); //Aktuelle PHP-Zeit speichern

    $Differenz = $PHPtime-$DBZeit; //Differenz zwischen DBTime und PHPtime bestimmen

    //Wenn Differenz größer als $MaxDiff (s.o.)
    if($Differenz < $MaxDiff) {
    //Faktor aus DB auslesen
    $dbFaktorRequest = "SELECT `faktor` FROM `ddos_temp` WHERE `ip` = '$UserIP'";
    $dbFaktorRequestResult = mysql_query($dbFaktorRequest);
    $dbFaktorResult = mysql_fetch_row($dbFaktorRequestResult);
    $dbFaktor = $dbFaktorResult[0];

    //Faktor lokal um 1 erhöhen
    $NewFaktor = $dbFaktor + 1;

    //Lokalen Faktor in DB schreiben
    mysql_query("UPDATE `ddos_temp` SET `faktor` = '$NewFaktor' WHERE `ip` = '$UserIP'");
    }

    $PHPtime = time(); //Aktuelle PHP-Zeit speichern
    mysql_query("UPDATE `ddos_temp` SET `zeit` = '$PHPtime' WHERE `ip` = '$UserIP'"); //Aktuelle Zeit in DB speichern

    //Faktor überprüfen, ob $MaxFaktor
    if ($NeuerFaktor == $MaxFaktor) {
    mysql_query("INSERT INTO `ddos_blacklist` (`ip`) VALUES ('$UserIP')"); //IP auf BlackList setzten
    mysql_query("DELETE FROM `ddos_temp` WHERE `ip`= '$UserIP'"); //Diesen Eintrag aus TempDB löschen
    }
    }
    ?>


    Script einbinden
    In deiner Website musst du nun das Script einbinden, indem du folgenden Code an den Anfang jeder Datei oder einer globalen Header-Datei kopierst:

    PHP
    <?php 
    include('/pfad/zum/script.php'); 
    ?>


    Quelle: Anti-DDos Script mit PHP und MySQL | Marvin Menzerath - Tutorials & Reviews zur Technikwelt

    Die Schriftsteller können nicht so schnell schreiben, wie die Regierung Kriege machen; denn das Schreiben verlangt Denkarbeit.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!