Ergebnis 1 bis 4 von 4

Thema: Client(s) von einer IP im laufenden Betrieben "kicken"?

  1. #1
    CenText ist offline Erfahrener Benutzer
    Registriert seit
    29.07.2007
    Beiträge
    220

    Standard Client(s) von einer IP im laufenden Betrieben "kicken"?

    Hey. Und zwar will ich bei mir ne Funktion einbauen, wenn ein User gewisse Kriterien nicht erfüllt diesen (mit allen Verbindungen) vom Server zu kicken und zu sperren.

    D.h. Wenn eine Anfrage mit "Select * from table" ausgeführt wird, dass dieser unterbrochen wird.

    Gibt es hierfür möglichkeiten?

  2. #2
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    5.337

    Standard

    Zitat Zitat von CenText Beitrag anzeigen
    Hey. Und zwar will ich bei mir ne Funktion einbauen, wenn ein User gewisse Kriterien nicht erfüllt diesen (mit allen Verbindungen) vom Server zu kicken und zu sperren.

    D.h. Wenn eine Anfrage mit "Select * from table" ausgeführt wird, dass dieser unterbrochen wird.

    Gibt es hierfür möglichkeiten?
    pg_cancel_backend(pid), die PID kannst Du aus der Spalte procpid vom View pg_stat_activity erfragen, via TRIGGER auf table. Man kann sich auch sicherlich noch deutlich komplizierter durch die Brust ins Auge ballern oder auch auch gleich dem User den Zugriff auf table via den üblichen Zugriffsregeln versperren.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    CenText ist offline Erfahrener Benutzer
    Registriert seit
    29.07.2007
    Beiträge
    220

    Standard

    okay. vorweg danke für die Infos. Derzeit regel ich eine "sperre" über iptables. - ist aber irgendwie eine unschöne Lösung für mein Problem. Werd mal ein paar Tests machen.

    Mal wieder besten Dank akretschmer.

    Schönen Gruß

  4. #4
    CenText ist offline Erfahrener Benutzer
    Registriert seit
    29.07.2007
    Beiträge
    220

    Standard

    okay irgendwie klappt das nicht.

    Code:
    select pg_cancel_backend(12588);
    pg_stat_activity. zeigt stets den prozess noch an

    EDIT:
    Okay prozess bleibt natürlich stehen, da nur dieser "gecancelt" wird und nicht terminiert wird. Querys werden auch perfekt abgebrochen, genau das was ich möchte. Danke.
    Geändert von CenText (04.07.2008 um 02:36 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum