Ankündigung

Einklappen
Keine Ankündigung bisher.

blacklistfunktion

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • blacklistfunktion

    Hallo zusammen,

    ich hab mir eine Funktion gebaut um auf meiner Seite gewisse Webseiten zu sperren.
    PHP-Code:
    function blacklist($daten) {
        
    $blacklist_read mysql_query("SELECT * FROM ".PREFIX."blacklist ");
        while(
    $blacklist=@mysql_fetch_array($blacklist_read)) {
            
    $suchmuster'/'.$blacklist['suchmuster'].'/i';
            if (
    preg_match($suchmuster$daten))
            { 
             
    eoch 'gesperrt';
            } 
        }

    komplette Domains zu sperren geht ohne Probleme.

    Leider kommt dieses Funktion an ihre Grenzen und funktioniert nicht, wenn ich z.B. http://domain.de/zb.php?id=198 sperren möchte. Ich möchte die Domain nicht sperren sondern nur die Unterseite

    Selbst wenn ich den Ausdruck "zb.php?id=198"in der Datenbank einfach wird das einfach ignoriert.
    Die Sperre greift nur wenn ich "id=198" eintrage oder die Domain.
    Wie bekomme ich das sauberer hin.

    Hat da jemand einen Einfall wie man das hin bekommt?

    vielen Dank schon mal im voraus.

    FRESHfire

  • #2
    mysql_query ist veraltet, bitte korrigieren.

    Wie sieht denn deine DB Tabelle aus?
    preg_match kannst du auch direkt in der DB ausführen lassen.

    Kommentar


    • #3
      Ich möchte die Domain nicht sperren sondern nur die Unterseite
      Das macht keinen sinn, die Domain ist Teil der URL. Oder willst du alle "Unterseiten" auf allen Seiten sperren, wenn die Domaininfo fehlt? Klär erstmal was du willst und erstelle entsprechend Beispiele.
      [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

      Kommentar


      • #4
        Hallo Zusammen,

        hier erst mal die Tabellenstruktur.
        Code:
        CREATE TABLE IF NOT EXISTS `zmc__blacklist` (
          `blacklistID` int(11) NOT NULL,
          `suchmuster` varchar(100) NOT NULL DEFAULT '',
          `grund` varchar(200) NOT NULL DEFAULT '',
          `zeit` int(20) NOT NULL DEFAULT '0',
          `aufrufe` int(20) NOT NULL
        ) ENGINE=MyISAM AUTO_INCREMENT=91 DEFAULT CHARSET=latin1;
        Was ich will ist ganz einfach,
        Ich hab einen Spezi auf meiner Webseite, der meinen Service mit Müll voll schütte, mit diversen Unterseiten von anderen Webseiten, die ihm nicht gehörten, nur weil er in der Unterseite für seine Webseite Werbung macht die bei mir schon gesperrt ist.

        Aus diesem Grund will ich nicht die gesamte Domain sperren, sondern nur besonderen Bereiche der Webseite aussperren, die vom Webseitenbetreiber/Besitzer eh nicht für das separate aufrufen gedacht sind.

        Deswegen würde ich gerne dieses Funktion "aufbohren - wenn das geht.
        Leider fehlt mir dafür das Wissen.

        Kommentar


        • #5
          Das Fragezeichen hat für reguläre Ausdrücke eine spezielle Bedeutung... benutze preg_quote() auf $blacklist['suchmuster'] um die speziellen Zeichen zu maskieren.
          Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

          Kommentar

          Lädt...
          X