Zum Inhalt springen

Dukanos

Mitglieder
  • Gesamte Inhalte

    65
  • Benutzer seit

  • Letzter Besuch

Beiträge von Dukanos

  1. Hallo zusammen,

    ich habe ein kleines Problem mit dem Dumper in Perl.

    Ich versuche ein 4-Dimensionales Array zu serialisieren, was eigentlich auch recht gut funktioniert. Aber ich würde es auch gerne wieder auslesen können. Was wiederrum nicht funktioniert.

    Ich speichere den String in ein Textfile, lese dieses dann in einen String ein und versuche mit eval() das ursprüngliche Array wieder zu kriegen.

    
    #!/usr/bin/perl
    
    use strict;
    
    use Data::Dumper;
    
    my @arr = (['xyz', ['123.123.123.123', ['www.xyz.de'],['121312321.124']],
    
                      'asdf', ['111.111.111.111', ['www.sf.de', 'www.asf.de'], ['12321421.24', '1234234.234']]]);
    
    
    local $Data::Dumper::Purity = 1;
    
    
    my $string = Data::Dumper->Dump(@arr);
    
    
    print $string;
    
    
    @arr = eval $string;
    
    
    Von der gewünschten Funktionalität her hab ich das mal in dem kleinen Skript zusammengeschrieben. Ich habe also ein Array, dass ich mit Data::Dumper->Dump(@arr) in einen String speichere. Danach gebe ich ihn aus und hätte dann gerne das Array zurück. Der String sieht in diesem Fall so aus:
    
    $VAR1 = 'xyz';
    
    $VAR2 = [
    
              '123.123.123.123',
    
              [
    
                'www.xyz.de'
    
              ],
    
              [
    
                '121312321.124'
    
              ]
    
            ];
    
    $VAR3 = 'asdf';
    
    $VAR4 = [
    
              '111.111.111.111',
    
              [
    
                'www.sf.de',
    
                'www.asf.de'
    
              ],
    
              [
    
                '12321421.24',
    
                '1234234.234'
    
              ]
    
            ];
    
    
    

    Wieso kann ich dann auf $arr[0][0] (xyz) nicht mehr zugreifen?

    Grüße

    Roland

  2. Hallo zusammen,

    ich habe ein Problem *Überraschung* :-)

    Und zwar versuche ich den Zugriff auf eine Intranetwebsite so zu beschränken, dass die Benutzerüberprüfung nicht bemerkt wird.

    Der Benutzer meldet sich an seinem Windows-PC an und kann dann die für ihn freigeschaltenen Intranetseite ansurfen.

    Ich habe den Herrn Google mal gefragt, aber der wusste nichts was mir direkt weiterhelfen konnte.

    Vorhanden ist:

    - Webserver: Apache (mit mod_kerberos) (auf nem Solaris)

    - Kerberosserver

    Ich würde jetzt gerne den NT-User eines Benutzers herausfinden, den am Kerberos überprüfen und dann auf die erlaubten Seiten lotsen.

    Irgendjemand ne Idee?

    Grüße Roland

  3. hallo zusammen,

    ich habe hier ein kleines Problem, denn ich soll eine vorhandene syslog.conf so anpassen, dass bestimmte Meldungen eines Proxies herausgefiltert und verworfen werden.

    Hintergrund ist, dass die Nachrichten in eine Datenbank geschrieben werden und dieser Proxy ungefähr 200k Einträge am Tag mit einer Fehlermeldungen (welche keine ist) vollbläst. Bevor jetzt jemand sagt, dass man sich damit an den Hersteller des Proxies wenden soll, der kennt den Support von Bluecoat nicht ;-)

    Momentan sieht das Ganze so aus:

    
    source s_sys { sun-streams ("/dev/log" door("/etc/.syslog_door")); internal(); };
    
    
    filter f_rasproxy1_deny { host("123.123.123.123") and match(".*290006.Assertion.failed.*");};
    
    
    log { source(s_sys); filter(f_rasproxy1_deny); flags(final); };
    
    
    Es ist keine Destination angegeben, weil laut Manual ein "flags(final)" das Ganze sowieso verwirft. Mal davon abgesehen hab ich´s auf die Art auch schonmal probiert:
    
    source s_sys { sun-streams ("/dev/log" door("/etc/.syslog_door")); internal(); };
    
    
    destination d_devnull {file("/dev/null"); }; 
    
    
    filter f_rasproxy1_deny { host("123.123.123.123") and match(".*290006.Assertion.failed.*");};
    
    
    log { source(s_sys); filter(f_rasproxy1_deny); destination(d_devnull); };
    
    

    Die Fehlermeldung die gefiltert werden soll lautet exakt:

    ProxySG: 290006 Assertion failed: "false" ""(2686982) SEVERE_ERROR ../TE_Transaction.cpp 808

    Kann mir jemand erklären, warum der Filter nicht zieht?

    Danke schonmal

    Grüße

    Roland

  4. Ich habe gerade ein paar Statements mit EXPLAIN laufen lassen und unter "Possible Keys" tauchen immer DATETIME und HOST auf. Interpretier ich das damit richtig, dass es wirklich geschickt und ausreichend wäre nur über diese beiden einen INDEX zu machen?

  5. @Amstelchen:

    Auf der Kiste läuft MySQL 5.0.41. Also leider keine Partitionierung möglich.

    Warum host ein VARCHAR(32) ist kann mir nur Gott sagen :-)

    Die DB wurde nicht von mir aufgesetzt. Vllt. 32 damit fast eine IPv6-Adresse reinpassen könnte ;-)

    @Dimitri:

    Ich habe die Werte mal angepasst. Also "WHERE l.host IS NOT NULL" rausgeworfen und die "LIKE"s durch "=" ersetzt.

    Ein Index über HOST und DATETIME einen INDEX zu legen würde nur bei dieser speziellen Query was bringen.

    SELECT l.host,l.priority,l.datetime,l.msg,d.cat,d.dns 
    
    FROM logs l INNER JOIN dns d ON l.host = d.ip 
    
    WHERE l.datetime BETWEEN '2008-05-14 00:00:00' AND '2008-05-14 23:59:59' 
    
    ORDER BY l.datetime LIMIT 0,400

    Bei dieser bräuchte ich aber dann noch einen gesonderten INDEX über DATETIME. Seh ich das richtig oder?

    Sind viele Indices eigentlich ein Problem?

  6. Das Ding besteht hauptsächlich aus 2 Tabellen:

    Tabelle logs:

    Spalten:

    -host VARCHAR(32) <- IP-Adressen

    -priority VARCHAR(10) <- Priorität der Meldung (6 verschiedene Zustände)

    -datetime DATETIME <- Eintragungszeit

    -msg TEXT <- Syslog-Meldung

    -seq BIGINT <- Primärschlüssel

    host, msg, datetime haben nen INDEX

    Tabelle dns:

    ip VARCHAR(32) <- IP-Adressen, gleichzeitig Primärschlüssel

    dns VARCHAR(50) <- DNS-Name zur entsprechenden IP

    cat VARCHAR(50) <- IPs können in Kategorien geordnet werden

    Eine typische Frage könnte so aussehen:

    SELECT l.host,l.priority,l.datetime,l.msg,d.cat,d.dns FROM logs l INNER JOIN dns d ON l.host = d.ip WHERE l.host IS NOT NULL AND l.datetime BETWEEN '2008-05-14 00:00:00' AND '2008-05-14 23:59:59' AND d.dns LIKE 'hier steht der dns-name' ORDER BY l.datetime LIMIT 0,400

    Verbesserungsvorschläge?

  7. Ich hab auf allem nach dem gesucht/gefiltert werden kann nen Index und die Ergebnismenge sind gerne mal über 10.000 Sätze...

    Wie gesagt 100Mio aktuell und jeden Tag laufen im Moment weitere 300.000/Tag rein.

    Achja, die Tabelle ist übrigends MyISAM... da ich u.A. auch Volltextsuche benötige.

  8. Hallo zusammen,

    ich sitze hier auf ner MySQL-DB die sich um die 100Mio Zeilen (aus Logdateien) bewegt. Mein Problem ist, dass ich eine Maske in PHP gebastelt habe mit der ich die Logeinträge filtern kann. Nur wie ihr euch vorstellen könnt, können diese Anfragen schon mal ein paar Minuten dauern.

    Zu meiner Frage:

    Ist es irgendwie möglich rein mit PHP und MySQL eine query abzubrechen? Denn der Standarduser wartet natürlich nicht gern und klickt nochmal und nochmal... was jedes mal wieder eine Query startet.

    Ich würde gerne die ursprüngliche Query abbrechen, falls nochmal geklickt wird. Hab aber noch keinen Weg dazu entdeckt.

    Ich weiß, dass man einen Prozess, mit Hilfe der ID killen kann, aber ein SHOW PROCESSLIST kann ich nicht absetzen bzw. wird gelocked bis der vorhergehende Query fertig ist.

    Grüße

    Dukanos

  9. hmmm,

    ich hab in PHP/MySQL im Studium mal einen gebastelt, aber ob das dann alles 100%ig sicher war konnte ich nicht im Betrieb testen.

    Hat sich auf das Angebot schon jemand gemeldet?

    Bräuchte da jemand Hilfe dabei?

    Würd gern mal jemandem über die Schulter schaun bzw. helfen, der schon etwas mehr praktische Erfahrung hat.

    Ich wär dankbar für ne PM :-)

  10. Ist es möglich über Ajax auf php-Klassen zu zugreifen und Funktionen aufzurufen?

    Ich würde nämlich gerne auf Klassen, die in einer PHP-Session gehalten werden asynchron zugreifen bzw. Rückgabewerte von Funktionen erfragen.

    Hat da jemand vllt. einen Literaturtipp oder gleich die Lösung :-) ?

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...