
Dukanos
Mitglieder-
Gesamte Inhalte
65 -
Benutzer seit
-
Letzter Besuch
-
[perl] Problem mit dem Dumper
Dukanos antwortete auf Dukanos's Thema in Skript- und Webserverprogrammierung
Es bleibt auf dem selben Server... Aber danke für den Hinweis :-) -
[perl] Problem mit dem Dumper
Dukanos antwortete auf Dukanos's Thema in Skript- und Webserverprogrammierung
Ok, das Problem hat sich erledigt... Ich verwende jetzt "Storable", damit funktionierts einwandfrei. -
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
-
SSO mit Kerberos und PHP
Dukanos antwortete auf Dukanos's Thema in Skript- und Webserverprogrammierung
Nach langer Suche habe ich jetzt doch was gefunden, was helfen könnte. Kerberos und Apache Zwar schon etwas älterer Text, aber trotzdem recht informativ. Das heißt nicht, dass ich für Hinweise und Tipps zu dem Thema nicht dankbar wäre... -
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
-
--- edit ---
-
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
-
Also als Ergebnis ist festzuhalten, dass sich die Abfragezeiten grob über den Daumen gepeilt halbiert haben :-)
-
Mach ich sobald die Index-Erstellung fertig ist :-) Hab´s gestern Mittag angeschmissen, aber das läuft sicher noch ein Weilchen.
-
Ok, vielen Dank für die Hilfe! Schon wieder was dazu gelernt :-) Grüße Roland
-
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?
-
@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?
-
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?
-
Ich kann an der Hardware oder am System nichts ändern. edit: Plödsinn rausgenommen :-)
-
*grübel* Stimmt, so könnte man´s machen. Danke :-) Das Ganze soll im Intranet verfügbar sein... deswegen hat sich PHP angeboten.