Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]13073[/thread]

IP Logging

Leser: 1


<< >> 6 Einträge, 1 Seite
Suchender
 2009-01-28 23:01
#118451 #118451
User since
2009-01-28
3 Artikel
BenutzerIn
[default_avatar]
Hallo

Ich möchte in einen Chat eine Funktion zum IP-Logging einbauen.

Diese soll zu jeden Userpost Zeit und IP in einer Datei auf den Server abspeichern.

Leider habe ich in Perl nur begrenzte Kenntnisse und wäre deshalb für Tipps dankbar.

Gruß

Der Suchende
Linuxer
 2009-01-28 23:03
#118452 #118452
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Zunächst wäre es nett, darauf hinzuweisen, dass Du diese Frage in mehreren Foren parallel gestellt hast:

Crosspost:
http://www.perlboard.de/cgi-bin/perlboard.pl?actio...
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
Suchender
 2009-01-28 23:05
#118453 #118453
User since
2009-01-28
3 Artikel
BenutzerIn
[default_avatar]
sorry ich poste sehr wenig in Foren, von daher wußte ich das nicht.

Es steht aber auch nur noch dort, woanders nicht.
Linuxer
 2009-01-28 23:13
#118454 #118454
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
- Was ist das für ein Chat?
- Ist der bereits in Perl geschrieben?
- Benutzt er die die CGI-Schnittstelle?
- Wie begrenzt sind für Dich "begrenzte Kenntnisse"?

Im CGI-Kontext sind diverse Varaiblen in der Umgebung gesetzt, aus denen man die Client-IP (bzw. den Proxy, der für den Client anfragt) ermitteln kann.

http://hoohoo.ncsa.uiuc.edu/cgi/env.html

Auf die Umgebung kann man innerhalb von Perl mit dem Hash %ENV zugreifen; siehe perldoc perlvar

Dort findet man auch die Erklärung zu $^T, diese Variable enthält den Zeitpunkt des Skriptstarts.
Ansonsten schau Dir mal die Doku zu localtime() an.
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
Suchender
 2009-01-28 23:28
#118456 #118456
User since
2009-01-28
3 Artikel
BenutzerIn
[default_avatar]
Hallo Linuxer

Ja der Chat ist in Perl geschrieben.
Ich möchte den Quelltext aber nicht offen im Forum posten, da er mir nur zur Nutzung überlassen wurde.

Er benutzt auch die CGI Schnittstelle

Meine Kenntnisse sind in soweit begrenzt das ich sicher in der Lage bin innerhalb des Chats was umzuschreiben (dazu gehört ja nicht allzuviel), aber ich wäre sicher nicht in der Lage das Programm selber zu entwickeln, jedenfalls nicht in absehbarer Zeit. Kurzum ich habe schon seit Ewigkeiten nichts mehr mit Perl zu schaffen gehabt.


http://hoohoo.ncsa.uiuc.edu/cgi/env.html

Danke für den Link

%ENV{'REMOTE_ADDR'} hatte ich schon vor ein paar Tagen am wickel, aber bisher konnte ich es nicht umsetzen....
Linuxer
 2009-01-29 00:12
#118457 #118457
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Naja, ohne den Code zu sehen, fällt es natürlich schwer, Dir Tipps zu geben, wie/wo Du die von Dir gewünschte Funktion implementieren könntest.

%ENV bezeichnet den Hash, wenn Du auf ein bestimmtes Element zugreifst, musst Du das als $ENV{'ELEMENT'} schreiben.

An dem Punkt, wo Du die Eingabe verarbeitest, muss eben der Code umdefiniert werden, sodass die Logdatei geöffnet, die entsprechenden Einträge (IP, Zeitstempel, Text) dort hinein geschrieben und die Datei wieder geschlossen wird.

Allerdings birgt dieses Vorhaben ein Problem. Nämlich das des parallelen Zugriffs auf eine Datei. Dafür braucht es eine passable Lösung...
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
<< >> 6 Einträge, 1 Seite



View all threads created 2009-01-28 23:01.