Alain: wie kann ich hostnamen splitten...?

Guten Morgen, Ich möchte im perl skript den host_namen einbinden ,aber ich möchte,das perl nur sagen wir mal die letzten 6 zeichen inklusive punkt beachtet,wie kann man das am einfachsten volziehen? B.s.p:

gozura2.chukai.ne.jp   davon nur i.ne.jp ache-frr-af14.proxy.aol.com   davon nur aol.com dclient80-218-73-141.hispeed.ch  davon nur peed.ch user83.net476.nc.sprint-hsd.net davon nur hsd.net .....u.s.w. beachten

Grüsse vom Alain-- ...nichts ist so schlecht, als daß es nicht für irgend etwas gut wäre

  1. Guten Morgen,

    Eher Guten Mittag *SCNR*

    Ich möchte im perl skript den host_namen einbinden, aber ich möchte, dass perl
    nur sagen wir mal die letzten 6 zeichen inklusive *punkt* beachtet,wie kann man
    das am einfachsten volziehen?

    1. Ermittle die Länge
    2. ziehe 6 Zeichen ab
    3. http://selfhtml.teamone.de/cgiperl/funktionen/zeichenketten.htm#substr

    Alles Gute aus Wien
       flo

    --
    Mein SELFcode: (http://emmanuel.dammerer.at/selfcode.html)
    ss:{ zu:) ls:# fo:| de:] va:) ch:] sh:| n4:& rl:( br:& js:| ie:) fl:{ mo:{
    !!! STOPPT BUSH - NO WAR !!!
    http://www.jwdt.com/~paysan/bush/11_september.pdf Fakts über den 11.9. !!!
  2. Hallo Alain,

    Ich möchte im perl skript den host_namen einbinden ,aber ich möchte,das perl
    nur sagen wir mal die letzten 6 zeichen inklusive *punkt* beachtet

    gozura2.chukai.ne.jp   davon nur i.ne.jp

    das sind 5 "normale Zeichen" plus 2 Punkte

    ache-frr-af14.proxy.aol.com   davon nur aol.com

    und hier 6 Zeichen plus Punkt.

    Ich verstehe noch nicht ganz was du möchtest: Wenn ich deine Beispiele betrachte würde ich sagen, daß du die letzten 6 Zeichen - gerrechnet exclusive _eines_ Punktes - extrahieren möchtest. Stimmt das so?

    Nebenbei gesagt: Ich sehe den Sinn hinter so einem Konstrukt nicht. Vielleicht kannst du mir auf die Sprünge helfen?

    Grüße,

    Peter

    p.s.: Wenn du an substr einen negativen Offset übergibst, wird die Position vom Ende aus des Strings gerechnet.

    1. hallo,

      Ich verstehe noch nicht ganz was du möchtest: Wenn ich deine Beispiele betrachte würde ich sagen, daß du die letzten 6 Zeichen - gerrechnet exclusive eines Punktes - extrahieren möchtest. Stimmt das so?

      Nebenbei gesagt: Ich sehe den Sinn hinter so einem Konstrukt nicht. Vielleicht kannst du mir auf die Sprünge helfen?

      Da man aol user oder dialin net user nicht mit IP untescheiden kann,möchte ich das mit dem host-namen versuchen in kombination vom user agenten und remonte_user um sicher zu stellen dass nur berechtigte user im htaccess geschützen bereich surfen,das ist das ziel meiner erläuterung. Der hostname ändert sich zwar auch manchmal bei aol oder dialin.net,aber meistens nicht in den letzteren zeichen. Hier ein auszug vom log eines aol user: 152.163.189.129 - - [16/Mar/2003:08:12:17 +0100] "GET /home.jpg HTTP/1.1" 304 - "http://www.meinserver.com/order1.htm" "Mozilla/4.0 (compatible; MSIE 5.5; AOL 8.0; Windows 98; Creative)" 152.163.188.37 - - [16/Mar/2003:08:12:17 +0100] "GET /th222550.jpg HTTP/1.1" 304 - "http://www.meinserver.com/order1.htm" "Mozilla/4.0 (compatible; MSIE 5.5; AOL 8.0; Windows 98; Creative)" 152.163.188.38 - - [16/Mar/2003:08:13:09 +0100] "GET /marpart/q_217.jpg HTTP/1.1" 200 16059 "http://www.meinserver.com/marpart/index.htm" "Mozilla/4.0 (compatible; MSIE 5.5; AOL 8.0; Windows 98; Creative)" 152.163.188.200 - - [16/Mar/2003:08:14:54 +0100] "GET /various/various.htm HTTP/1.1" 200 5291 "http://www.meinserver.com/order1.htm" "Mozilla/4.0 (compatible; MSIE 5.5; AOL 8.0; Windows 98; Creative)" 152.163.189.71 - - [16/Mar/2003:08:14:56 +0100] "GET /various/th0404.jpg HTTP/1.0" 200 1415 "http://www.meinserver.com/various/various.htm" "Mozilla/4.0 (compatible; MSIE 5.5; AOL 8.0; Windows 98; Creative)"

      wenn ich mir den hostnamen von diesem user betrachte so seh ich dass der aol.proxy immer der selbe ist,anhand dessen könnte man den user fast :-) eindeutig identifizieren

      Grüsse vom Alain

      --
      ...nichts ist so schlecht, als daß es nicht für irgend etwas gut wäre
      1. Hallo Alain,

        Da man aol user oder dialin net user nicht mit IP untescheiden kann,möchte ich das mit dem host-namen versuchen in kombination
        vom user agenten und remonte_user um sicher zu stellen dass nur berechtigte user im htaccess geschützen bereich surfen,das ist das ziel meiner erläuterung.
        Der hostname ändert sich zwar auch manchmal bei aol oder dialin.net,aber meistens nicht in den letzteren zeichen.

        meines Wissens nach enthalten die Hostnamen von T-Offline immer einen festen Bestandteil je nach genutzten Einwahlpunkt. Ich glaube das sind die ersten 6 Zeichen (bin mir aber nicht sicher). AOL hingegen nutzt anscheinend ein stark zentralisiertes Einwahlsystem - ich glaube nicht, daß du da sehr weit kommst. Keine Ahnung wieviele Einwahlknoten es z.B. in Berlin gibt, aber eine Authentifizierung nach Einwahlknoten halte ich für absolut unsicher und nicht sonderlich praktikabel.

        Du nutzt doch offensichtlich schon HTTP Auth. Damit kannst du doch bereits User eindeutig authentifizieren. Was willst du mehr?

        Und was ist, wenn ein User sich von zu Hause und von der Arbeit deinen geschützten Bereich ansehen will und unterschiedliche Provider und/oder Browser nutzt?

        Ich glaube du hast die ganze Sache nicht ganz zu Ende durchdacht (oder ich kapiere es einfach nicht ;-).

        Grüße,

        Peter

        1. hallo,

          Du nutzt doch offensichtlich schon HTTP Auth. Damit kannst du doch bereits User eindeutig authentifizieren. Was willst du mehr?

          meinst du htaccess? Ja...aber das genügt mir nicht.

          Und was ist, wenn ein User sich von zu Hause und von der Arbeit deinen geschützten Bereich ansehen will und unterschiedliche Provider und/oder Browser nutzt?

          macht doch nichts,er kann seinen browser type bzw. seinen host_namen bis 5 mal ändern pro Tag. Am nächsten Tag setzt sich der counter auf null wieder bis 5.

          Ich glaube du hast die ganze Sache nicht ganz zu Ende durchdacht (oder ich kapiere es einfach nicht ;-).

          Doch hab ich schon,bisher funtzte es nur mit dem user agent,weil ja die Ip's unnützlich sind bei einigen usern,desshalb wollte ich noch zur sicherheit einen anderen option dazu bringen wie gesagt den hostnamen z.B. ohne die nummern am anfang z.T. Wenn ich meinen member log ansehe denke ich dass die hostnamen vermutlich das einzige sind die bestehend bleiben. B.S.P. aus dem member log: oiler,209.197.154.198 ,07:25:04 01/5 ,Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1),calppp154198.3web.net,none

          urstest,67.201.169.85 ,07:34:12 01/5 ,Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Compaq),1Cust85.tnt3.richmond.va.da.uu.net,http://www.meinserver.com/geschützt/hello.html

          noa222,62.224.30.98 ,10:16:34 01/5 ,Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1),p3EE01E62.dip.t-dialin.net,http://www.meinserver.com/geschützt/hello.html

          jxdmarko,67.33.180.226 ,12:05:03 01/5 ,Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461),adsl-33-180-226.asm.bellsouth.net,http://www.meinserver.com/geschützt/hello.html

          itsmark,217.145.1.210 ,12:23:34 01/5 ,Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1),nohost,http://www.meinserver.com/geschützt/pagexy.html

          bama341,62.83.208.35 ,13:18:03 01/5 ,Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0),35-VALL-X13.libre.retevision.es,http://www.meinserver.com/geschützt/hello.html

          bama341,62.83.212.102 ,13:30:00 01/5 ,Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0),102-VALL-X8.libre.retevision.es,http://www.meinserver.com/geschützt/hello.html

          huntcom,24.165.39.124 ,13:53:26 01/5 ,Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; YComp 5.0.0.0; .NET CLR 1.0.3705),a24b165n39client124.hawaii.rr.com,http://www.meinserver.com/geschützt/hello.html

          der erste name ist der membername,IP,Datum,Useragent,Hostnamen,referer Ich benutze im moment die länge der strings in zeichen also so:

          $agent = length($ENV{'HTTP_USER_AGENT'}) || '01'; use Socket; $host_name = length(gethostbyaddr (inet_aton($ip_now), AF_INET)) || '02'; $ok_now = $agent + $host_name;

          um änderungen festzustellen,die dann den counter bei bedarf hochzählen.

          Grüsse vom Alain

          --
          ...nichts ist so schlecht, als daß es nicht für irgend etwas gut wäre