Bezpiecze±stwo system≤w Linux'owych |
Linux Security - Perl w administracji
|
|
[1] [2] |
W typ przypadku Perl pos│u┐y nam do zrobienia statystyk, kto i ile
pobra│ danych z naszego serwera WWW.
Logi Apache'a wygl▒daj▒ w ten spos≤b: |
www.linux.org - - [09/Jun/2001:14:27:57 +0200] "GET / HTTP/1.0" 200 2890 "-" "Lynx/2.8.4dev.16 libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/0.9.6" www.security.com - - [09/Jun/2001:14:28:27 +0200] "GET / HTTP/1.0" 200 576 "-" "Lynx/2.8.4dev.16 libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/0.9.6" www.security.com - - [11/Jun/2001:21:49:23 +0200] "GET / HTTP/1.0" 200 576 "-" |
Skrypt bΩdzie sumowa│ wszystkie pobrania danych, jakie nast▒pi│y z
poszczeg≤lnych host≤w.
Listing programu jest nastΩpuj▒cy: |
#!/usr/bin/perl open(dane,'/etc/httpd/logs/access_log'); while ( |
Teraz mo┐na zobaczyµ, kt≤ry host pobra│ najwiΩcej danych z naszego
serwera:
|
HOST: TRANSFER: www.linux.org 2890 www.security.com 1152 |
W powy┐szym programie zastosowano tablice asocjacyjne o nazwie "suma", czyli konkretnemu
ci▒gowi znak≤w (w tym wypadku to nazwy host≤w) zosta│y przypisane liczby
(ilo╢µ pobranych danych w bajtach).
PΩtla foreach pobiera dane z tablicy "suma" i podstawia je do zmiennej "wynik" |