Julia: cgi mit javascript starten

0 65

cgi mit javascript starten

Julia
  • cgi
  1. 0
    Christoph Schnauß
    1. 0
      Julia
      1. 0
        Christoph Schnauß
        1. 0
          Julia
          1. 0
            Christoph Schnauß
            1. 0
              Julia
              1. 0
                Christoph Schnauß
                1. 0
                  Julia
                  1. 0

                    Counter aufrufen

                    Christoph Schnauß
                    1. 0
                      Julia
                      1. 0
                        Christoph Schnauß
                        1. 0
                          Julia
                          1. 0
                            Christoph Schnauß
                            1. 0
                              Julia
                              1. 0
                                Christoph Schnauß
                                1. 0
                                  Julia
                                  1. 0
                                    Julia
                                    1. 0
                                      Christoph Schnauß
                                      1. 0
                                        Frank Schönmann
                                        1. 0
                                          Julia
                                          1. 0
                                            MudGuard
                                            1. 0
                                              Julia
                                              1. 0
                                                MudGuard
                                          2. 0
                                            Antje Hofmann
                                            1. 0
                                              Julia
                                      2. 0
                                        Ilja
                                2. 0
                                  MudGuard
                              2. 0
                                Oesi50
                                1. 0
                                  Oesi50
                            2. 0
                              SabineP
                              1. 0
                                Christoph Schnauß
                          2. 0
                            SabineP
                      2. 0
                        Oesi50
              2. 0
                Oesi50
                1. 0
                  Oesi50
                  1. 0
                    Christoph Schnauß
                    1. 0
                      Oesi50
                      1. 0
                        Christoph Schnauß
                        1. 0
                          Oesi50
                          1. 0
                            Christoph Schnauß
                2. 0
                  Christoph Schnauß
                  1. 0
                    Oesi50
                    1. 0
                      Christoph Schnauß
                      1. 0
                        Oesi50
                        1. 0
                          Christoph Schnauß
                          1. 0
                            Oesi50
                      2. 0
                        MudGuard
        2. 0
          MudGuard
          1. 0
            MudGuard
  2. 0
    Calocybe
    1. 0
      Joachim
    2. 0
      Antje Hofmann
      1. 0
        Calocybe
        1. 0
          Antje Hofmann
          1. 0
            Calocybe
    3. 0
      alsowiebitte
      1. 0
        Calocybe
    4. 0

      Nachdenkliches zur Nacht

      Siechfred
      • zur info
      1. 0
        Calocybe
        1. 0
          Siechfred
          1. 0
            Calocybe
            1. 0
              Christoph S.
  3. 0
    Siechfred
  4. 0
    Struppi

hi,

ich wollt mal fragen wie ich ein cgi-programm mit javascript starten kann.

so soll das aussehen

<script language="javascript">

if(navigator.cookieEnable == true) {
   //programm starten
}

</script>

aber es sollte keine location.herf sein, weil da kommen die besucher zum prog, dass prog soll aber nur im hintergrund ausgeführt werden.

1000 dank im voraus

  1. hallo Julia,

    ich wollt mal fragen wie ich ein cgi-programm mit javascript starten kann.

    Gar nicht.

    Der Grund: Javascript ist eine Sprache, deren Bibliotheken vom Browser des Clients abgefragt werden. Javascript hat also gar keine Möglichkeit, auf CGI-Programme, die ja auf dem Server liegen, zuzugreifen (welche Ausnahmen davon eventuell serverseitiges Javascript, das es ja auch gibt, zuläßt, ist mir nicht exakt bekannt. Beschrieben ist es meines Wissens nirgends)

    Grüße aus Berlin

    Christoph S.

    1. ich wollt mal fragen wie ich ein cgi-programm mit javascript starten kann.
      Gar nicht.

      aber man kann ja z.b. durch <script src="counter.cgi"></script> auch ein cgi-prog starten. das brauche ich aber nicht, weil das werden ja die besucherzahlen angezeigt. ich brauch nur eine funktion die das programm nur durchlaufen lässt. und das nur im hintergrund, also die seite wird ganz normal geladen.

      das programm erhöht nur die besucherzahlen um eins. es wird also auch keine grafik oder ähnliches ausgegeben ausgegeben.

      1. hallo Julia,

        aber man kann ja z.b. durch <script src="counter.cgi"></script> auch ein cgi-prog starten.

        Was du hier zitierst, ist nicht zwingend Javascript. Außerdem bedeutet src="counter.cgi" nicht, daß es sich um ein "echtes" CGI-Programm, das auf dem Server irgendwelche Aktionen auslöst, handeln muß. Das "Anstoßen" eines CGI-Programms funktioniert nur dann, wenn dein Javascript noch ein  -  eventuell unsichtbares  -  Formular schreibt und darin dann über "action" ein CGI-Programm anstößt. Dieser "Anstoß" wird aber nicht von Javascript ausgelöst, sondern vom "Anzeigegerät" (was in der Regel der Browser ist), das diesen Javascript-Code ausliest und befolgt. Dein Browser kann Rückfragen an den Server senden, und es ist ihm egal, wer und und wie ihm befiehlt, sowas zu tun, Javascript kann _alleine_ solche Rückfragen an den Server nicht starten.

        ich brauch nur eine funktion die das programm nur durchlaufen lässt.

        Ein CGI-Programm rufst du typischerweise in einem Formular auf. Javascript brauchst du dafür nicht.

        Grüße aus Berlin

        Christoph S.

        1. es muss doch eine möglichkeit geben, dass wenn jemand meine seite aufruft, dass mein counter um eins hochzählt und das ohne ein formular oder so was.

          1. hallo Julia,

            es muss doch eine möglichkeit geben, dass wenn jemand meine seite aufruft, dass mein counter um eins hochzählt

            Natürlich gibts solche Möglichkeiten. Wie hast du denn deinen Counter geschrieben, welche Sprache hast du dafür verwendet?

            und das ohne ein formular

            Nein.

            oder so was.

            Was ist "so was"?

            Grüße aus Berlin

            Christoph S.

            1. es muss doch eine möglichkeit geben, dass wenn jemand meine seite aufruft, dass mein counter um eins hochzählt
              Natürlich gibts solche Möglichkeiten. Wie hast du denn deinen Counter geschrieben, welche Sprache hast du dafür verwendet?

              ich verwende cgi bzw. perl aus programmiersprache

              also mein counter öffnet ein txt-datei liest die besucherzahl aus z.B(0000125). jetzt schliesst es die datei wieder und öffnet die gleiche datei wieder, nur halt jetzt zum schreiben, und überschreibt die alte besucherzahl mit der neuen besucherzahl plus eins. und setzt noch ein cookie, damit ein besucher nicht mehrmals gezählt wird.

              und das soll jetzt einfach nur im hintergrund ausgeführt werden, während die seite geladen wird.

              1. hallo Julia,

                ich verwende cgi bzw. perl aus programmiersprache

                CGI ist keine Programmiersprache, sondern die Definition einer Schnittstelle, PERL dagegen ist eine (sogar ziemlich alte) Sprache.

                und das soll jetzt einfach nur im hintergrund ausgeführt werden, während die seite geladen wird.

                Wird es auch, wenn du dein Script über ein Formular aufrufst. Alles weitere liest du bitte in den einschlägigen CGI/PERL-Kapiteln in SELFHTML nach.

                Grüße aus Berlin

                Christoph S.

                1. hi,

                  also am besten wäre es wenn ich das so machen würde:

                  <script src="counter.cgi"></script>

                  das geht auch soweit, aber ich brauch ja ein bedingung:

                  if(navigator.cookieEnabled) {
                    <script src="counter.cgi"></script>
                  }

                  aber so geht es natürlich nicht. :-(

                  1. hallo Julia,

                    Jetzt drehst du dich im Kreis, weil du genau das wiederholst, was du bereits ganz oben im Ausgangsposting geschrieben hast. Und:

                    aber so geht es natürlich nicht. :-(

                    Nein, so geht es nicht. Rufe dein PERL-Script über ein Formular auf, und wenn du nicht weißt, wie das geht, lies bitte in SELFHTML die entsprechenden ausführlichen Hinweise nach.

                    Grüße aus Berlin

                    Christoph S.

                    1. Jetzt drehst du dich im Kreis, weil du genau das wiederholst, was du bereits ganz oben im Ausgangsposting geschrieben hast. Und:

                      ups, bin müde :-)

                      des macht doch keiner, ein counter über ein formular aufzurufen, oder?

                      1. hallo Julia,

                        ups, bin müde :-)

                        dann geh schlafen.

                        des macht doch keiner, ein counter über ein formular aufzurufen, oder?

                        Doch, alle, bei denen es funktioniert, machen es so. Solange es sich um ein CGI-Script handelt.

                        Grüße aus Berlin

                        Christoph S.

                        1. Doch, alle, bei denen es funktioniert, machen es so. Solange es sich um ein CGI-Script handelt.

                          des hab ich aber noch nie gesehen. wer macht das zum beispiel??

                          1. hi Julia,

                            wer macht das zum beispiel?

                            Alle, die einen mit PERL geschrieben Counter einsetzen, anders gehts ja nicht.

                            Und jetzt geh schlafen und träum irgendwas, bloß nicht von Formularen. Morgen liest du dann bitte, wie bereits zweimal erwähnt, die PERL/CGI-Kapitel in SELFHTML nach.

                            Grüße aus Berlin

                            Christoph S.

                            1. hey,

                              nur noch eins dann ich schlafen. :-)

                              wäre es nicht schlauer wenn ich das so mache:

                              if(navigator.cookieEnabled == true) {
                              document.write("<img src="counter.cgi">");
                              }

                              und das mein cgi-prog dann ein spacer.gif in den src-tag reinhaut??

                              1. hey ebenfalls,

                                wäre es nicht schlauer wenn ich das so mache:
                                if(navigator.cookieEnabled == true) {
                                document.write("<img src="counter.cgi">");
                                }
                                und das mein cgi-prog dann ein spacer.gif in den src-tag reinhaut?

                                Nein. Du möchtest ja, daß dein Counter bei _jedem_ Seitenbesuch funktioniert. Wenn nun jemand deine Seite besucht, der Javascript gar nicht erlaubt hat, wird er nicht gezählt. Setzt du aber ein Formular ein, wird er gezählt, weil das ganz schlichtes HTML ist.

                                gute Nacht

                                Christoph S.

                                1. Nein. Du möchtest ja, daß dein Counter bei _jedem_ Seitenbesuch funktioniert. Wenn nun jemand deine Seite besucht, der Javascript gar nicht erlaubt hat, wird er nicht gezählt. Setzt du aber ein Formular ein, wird er gezählt, weil das ganz schlichtes HTML ist.

                                  aber mal angenommen wenn meine besucher javascript an haben.

                                  1. @ Christoph Schnauß

                                    du sagst doch, dass ich mein counter mit einem formular starten soll. und wie soll dann das formular beim laden meiner webseite gestartet werden??

                                    1. hallo Julia,

                                      @ Christoph Schnauß

                                      du sagst doch, dass ich mein counter mit einem formular starten soll. und wie soll dann das formular beim laden meiner webseite gestartet werden?

                                      Das wird es, sobald dein HTML-Code "ausgelesen" ist. Dazu schaust du bitte, wie mehrfach empfohlen, die entsprechenden Kapitel in SELFHTML an. Morgen. Heute nacht wirds nix mehr, du bist müde.

                                      Grüße aus Berlin

                                      Christoph S.

                                      1. hi!

                                        du sagst doch, dass ich mein counter mit einem formular starten
                                        soll. und wie soll dann das formular beim laden meiner webseite
                                        gestartet werden?
                                        Das wird es, sobald dein HTML-Code "ausgelesen" ist. Dazu schaust
                                        du bitte, wie mehrfach empfohlen, die entsprechenden Kapitel in
                                        SELFHTML an. Morgen. Heute nacht wirds nix mehr, du bist müde.

                                        Sag mal, ist dir das nicht peinlich, den kompletten Thread mit
                                        konzentrierter Unwissenheit vollzuballern? Wenn du keine Ahnung vom
                                        Thema hast, dann halte dich doch bitte das nächste mal etwas zurück.
                                        Antworten um jeden Preis haben wir hier wirklich nicht nötig.

                                        1. Formulare werden _nicht_ automatisch abgeschickt, um ein CGI-Skript
                                        zu starten, sobald der HTML-Code ausgelesen wurde, sondern erst, wenn
                                        der Benutzer das Formular abschickt.

                                        2. Um das Formular automatisch abschicken zu lassen, braucht man
                                        wieder JavaScript, das du selbst eben ausgeschlossen hast.

                                        3. Bilder und JavaScripts können sehr wohl von CGI-Skripts automatisch
                                        generiert werden. Eingebunden wird dann das erzeugte Dokument, und
                                        nicht etwa der auf dem Server abgelegte Perl-Quelltext, wie du
                                        mehrfach vermutet hast. Die dabei verwendete GET-Methode ist ebenfalls
                                        eine "action", die der Browser ausführt -- ohne, dass dafür extra ein
                                        Formular abgesendet werden muss.

                                        Julia hat scheinbar sehr viel besser den Zusammenhang verstanden,
                                        der in diesem Problem auftritt, als du. Sie hätte nur anfangs etwas
                                        besser erklären müssen, was sie genau erreichen möchte.

                                        bye, Frank!

                                        --
                                        Never argue with an idiot. He will lower you to his level and then
                                        beat you with experience.
                                        1. hi,

                                          also ich habe des mal so probiert, dass mein cgi-prog ein spacer in den src-tag reinhaut, aber des geht irgendwie nicht. kann mir bitte einer sagen was ich falsch mache.

                                          ##########html#####################################

                                          <html>
                                          <head>
                                          <script type="text/javascript" language="javascript">
                                          if(navigator.cookieEnabled == true) {
                                          document.write('<img src="test.cgi">');
                                          }
                                          </script>
                                          </head>
                                          <body>

                                          </body>
                                          </html>

                                          #######cgi-prog#####################################

                                          #!/usr/bin/perl

                                          print "Content-type: text/javascript\n\n";        #mit image/gif habe ich es auch schon probiert
                                          print "spacer.gif";

                                          1. Hi,

                                            also ich habe des mal so probiert, dass mein cgi-prog ein spacer in den src-tag reinhaut, aber des geht irgendwie nicht. kann mir bitte einer sagen was ich falsch mache.

                                            Du mußt nicht eine Bild-URL zurückliefern, sondern ein Bild.

                                            cu,
                                            Andreas

                                            --
                                            Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
                                            http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
                                            1. Du mußt nicht eine Bild-URL zurückliefern, sondern ein Bild.

                                              aha, und wie mach ich das??

                                              1. Hi,

                                                Du mußt nicht eine Bild-URL zurückliefern, sondern ein Bild.
                                                aha, und wie mach ich das??

                                                z.B. Bild-Datei öffnen, Bytes einlesen, Bytes auf std-out ausgeben, Bild-Datei schließen.
                                                cu,
                                                Andreas

                                                --
                                                Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
                                                http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
                                          2. Hallo Julia

                                            #######cgi-prog#####################################

                                            #!/usr/bin/perl

                                            print "Content-type: text/javascript\n\n";        #mit image/gif habe ich es auch schon probiert
                                            print "spacer.gif";

                                            hier hast du ein Verständnisproblem. Du versuchst einen String auszuliefern, der den Pfad zu einer Datei zurückgibt. Ausgeliefert werden muss aber eine Zeichenkette, die ein Bild ergibt.

                                            Wenn du eine solche Zeichenkette nicht generieren kannst, bleibt noch die Möglichkeit, dass du einfach einen Header sendest, der zu einem Bild führt.

                                            In PHP würde das so aussehen:

                                            <?php

                                            // dein Counterscript
                                             header("Location: http://pfadzumspacer/spacer.gif");

                                            ?>

                                            In Perl wird das ähnlich gehen.

                                            Viele Grüße

                                            Antje

                                            1. und wie generiert man irgendein bild?? gibt es da ein programm oder kann man des irgenwo nachlesen.

                                      2. hi Christoph,

                                        Das wird es, sobald dein HTML-Code "ausgelesen" ist. Dazu schaust du bitte, wie mehrfach empfohlen, die entsprechenden Kapitel in SELFHTML an. Morgen. Heute nacht wirds nix mehr, du bist müde.

                                        neuer tag, neues glück. wir sind alle ausgeschlafen und bereit. mich würde es interessieren, wie das funktioniert. ich könnte es sehr gut verwenden. kannst du uns nicht einach mal zeigen, wei man das macht oder aber einen link geben, wo die lösung aufgezeigt wird ?

                                        Ilja

                                2. Hi,

                                  Nein. Du möchtest ja, daß dein Counter bei _jedem_ Seitenbesuch funktioniert. Wenn nun jemand deine Seite besucht, der Javascript gar nicht erlaubt hat, wird er nicht gezählt. Setzt du aber ein Formular ein, wird er gezählt, weil das ganz schlichtes HTML ist.

                                  Und wie soll ein Formular dabei helfen?
                                  Damit das CGI-Script gestartet werden kann, muß ein http-Request zum Server gehen.
                                  Die reine Anwesenheit eines Formulars hilft da gar nichts.
                                  Erst wenn dieses abgesendet wird, wird ein http-Request ausgelöst.

                                  Und das kann entweder durch den User geschehen oder durch javascript.
                                  Wenn Javascript nicht aktiviert ist, wärst Du vom User abhängig.

                                  cu,
                                  Andreas

                                  --
                                  Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
                                  http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
                              2. hey,
                                wäre es nicht schlauer wenn ich das so mache:
                                document.write("<img src="counter.cgi">");

                                kleiner Fehler----^---------------------^
                                da nimmst Du besser das ' und das '

                                und das mein cgi-prog dann ein spacer.gif in den src-tag reinhaut??

                                Ja genau so, mein Beispielcode erzeugt ein durchsichtiges gif für Dich.

                                Grüße Oesi

                                1. Korrektur

                                  document.write("<img src="counter.cgi">");

                                  kleiner Fehler----^-----------------------^

                                  da nimmst Du besser das ' und das '

                                  es ist halt etwas spät :-(
                                  Grüße Oesi

                            2. hi Julia,

                              wer macht das zum beispiel?
                              Alle, die einen mit PERL geschrieben Counter einsetzen, anders gehts ja nicht.

                              Hallo Christoph,

                              lies doch mal dieses Kapitel bei Selfhtml:
                              http://selfhtml.teamone.de/cgiperl/sprache/cgitypisch.htm#counter

                              Gruß Sabine

                              1. hi,

                                lies doch mal dieses Kapitel bei Selfhtml:
                                http://selfhtml.teamone.de/cgiperl/sprache/cgitypisch.htm#counter

                                Hm, das sollte ich kennen. Leider ist gerade das kein _Kapitel_, sondern eine kurze Anmerkung. Schau dir bei Webspace-Anbietern, die (PERL)-Counter in ihrem Repertoire führen, die Anleitungen zum Einbinden an.
                                Natürlich kann ein CGI-Script (egal, ob PERL oder sonstwas) ein kleines Bildchen mit der korrekten Counter-Anzeige zurückliefern. Ich habe weiter oben gesagt:

                                Ich sehe keine Möglichkeit, http://www.w3.org/TR/html4/struct/objects.html#h-13.2 so zu interpretieren.

                                Darin kann ich mich allerdings irren.

                                Grüße aus Berlin

                                Christoph S.

                          2. Doch, alle, bei denen es funktioniert, machen es so. Solange es sich um ein CGI-Script handelt.

                            des hab ich aber noch nie gesehen. wer macht das zum beispiel??

                            Julia, das macht auch niemand.
                            Laß Dich von Christoph Schnauß nicht irritieren.

                            Gruß Sabine

                      2. hi Julia,
                        recht hast Du.

                        schreib den IMG Tag mit document.write in den jeweiligen Zweig rein

                        if(blabla){
                         document.write('<img src="counter.cgi">');
                        }

                        Grüße Oesi

              2. hi Julia

                es muss doch eine möglichkeit geben, dass wenn jemand meine seite aufruft, dass mein counter um eins hochzählt
                Natürlich gibts solche Möglichkeiten. Wie hast du denn deinen Counter geschrieben, welche Sprache hast du dafür verwendet?

                ich verwende cgi bzw. perl aus programmiersprache

                also mein counter öffnet ein txt-datei liest die besucherzahl aus z.B(0000125). jetzt schliesst es die datei wieder und öffnet die gleiche datei wieder, nur halt jetzt zum schreiben, und überschreibt die alte besucherzahl mit der neuen besucherzahl plus eins. und setzt noch ein cookie, damit ein besucher nicht mehrmals gezählt wird.

                Natürlich geht so was.
                Du musst nur dafür sorgen, dass dein Perl-Script gültigen Javascript-Code ausgibt.

                z.B.:
                print "Content-Type: text/javascript\n\n";
                print q|document.write("<!-- leer -->");|;

                Grüße Oesi

                1. Variante 2

                  Du bindest dein script als bild ein:
                  <img src="script.pl">
                  oder
                  document.write('<img src="script.pl">');

                  z.B.:

                  my $no_gif = unpack('u',q°K1TE&.#EA0!(```````````"'Y!$!````+``````!$```("1`$`.P°);
                  my $cl =length($no_gif);
                  print "Content-length: $cl\n";
                  print "Content-type: image/gif\n\n";
                  print "$no_gif";

                  Grüße Oesi

                  1. hi,

                    Du bindest dein script als bild ein:
                    <img src="script.pl">

                    Ich sehe keine Möglichkeit, http://www.w3.org/TR/html4/struct/objects.html#h-13.2 so zu interpretieren, wie du es hier vorschlägst. Nenne mal bitte eine valide Beispielseite, auf der das funktioniert.

                    Grüße aus Berlin

                    Christoph S.

                    1. hi,

                      Du bindest dein script als bild ein:
                      <img src="script.pl">

                      Nenne mal bitte eine valide Beispielseite, auf der das funktioniert.

                      Ich hab Dir mal eine gebaut.

                      http://ssi.gmxhome.de/c/script.html

                      Grüße Oesi

                      1. hallo Oesi,

                        http://ssi.gmxhome.de/c/script.html

                        Nach
                        <img src="script.pl" alt="">
                        war gefragt, nicht aber nach
                        <p>
                              <a href="http://validator.w3.org/check/referer"><img border="0"
                                  src="http://www.w3.org/Icons/valid-html401"
                                  alt="Valid HTML 4.01!" height="31" width="88"></a>
                            </p>

                        Und wo ist die Anzeige, daß ich dreimal die Seite besucht habe und das Script auch funktioniert hat?

                        Christoph S.

                        1. hallo

                          Und wo ist die Anzeige, daß ich dreimal die Seite besucht habe und >>das Script auch funktioniert hat?

                          wenn das script nicht funktioniert hätte, würdest Du das durchsichtige gif nicht gesehen haben.
                          Die Aufgabe lautete: "Das Script soll im Hintergrund arbeiten"
                          und im Übrigen denke ich das dieses hier ein Forum ist, und kein Chat.

                          Grüße Oesi

                          PS: die letzten Zugriffe

                          217.233.176.112 - - [09/Jul/2003:01:08:00 +0200] "GET /c/script.html HTTP/1.1" 200 580 ssi.gmxhome.de "http://forum.de.selfhtml.org/?t=51862&m=285466" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" "-"
                          217.233.176.112 - - [09/Jul/2003:01:08:00 +0200] "GET /c/script.pl HTTP/1.1" 200 43 ssi.gmxhome.de "http://ssi.gmxhome.de/c/script.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" "-"
                          18.29.1.50 - - [09/Jul/2003:01:08:24 +0200] "GET /c/script.html HTTP/1.1" 200 580 ssi.gmxhome.de "-" "W3C_Validator/1.305.2.12 libwww-perl/5.64" "-"
                          217.233.176.112 - - [09/Jul/2003:01:08:32 +0200] "GET /c/script.html HTTP/1.1" 304 - ssi.gmxhome.de "http://forum.de.selfhtml.org/?t=51862&m=285466" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" "-"
                          217.233.176.112 - - [09/Jul/2003:01:08:32 +0200] "GET /c/script.pl HTTP/1.1" 200 43 ssi.gmxhome.de "http://ssi.gmxhome.de/c/script.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" "-"
                          80.136.172.138 - - [09/Jul/2003:01:09:00 +0200] "GET /c/script.html HTTP/1.0" 200 580 ssi.gmxhome.de "http://forum.de.selfhtml.org/?t=51862&m=285466" "Mozilla/4.78 [de] (WinNT; U)" "-"
                          80.136.172.138 - - [09/Jul/2003:01:09:00 +0200] "GET /c/script.pl HTTP/1.0" 200 43 ssi.gmxhome.de "http://ssi.gmxhome.de/c/script.html" "Mozilla/4.78 [de] (WinNT; U)" "-"
                          80.136.172.138 - - [09/Jul/2003:01:12:11 +0200] "GET /c/script.html HTTP/1.0" 304 - ssi.gmxhome.de "http://forum.de.selfhtml.org/?t=51862&m=285466" "Mozilla/4.78 [de] (WinNT; U)" "-"
                          80.136.172.138 - - [09/Jul/2003:01:12:11 +0200] "GET /c/script.pl HTTP/1.0" 200 43 ssi.gmxhome.de "http://ssi.gmxhome.de/c/script.html" "Mozilla/4.78 [de] (WinNT; U)" "-"
                          80.136.172.138 - - [09/Jul/2003:01:12:12 +0200] "GET /c/script.html HTTP/1.0" 304 - ssi.gmxhome.de "http://forum.de.selfhtml.org/?t=51862&m=285466" "Mozilla/4.78 [de] (WinNT; U)" "-"
                          18.29.1.50 - - [09/Jul/2003:01:12:43 +0200] "GET /c/script.html HTTP/1.1" 200 580 ssi.gmxhome.de "-" "W3C_Validator/1.305.2.12 libwww-perl/5.64" "-"

                          1. hi,

                            wenn das script nicht funktioniert hätte, würdest Du das durchsichtige gif nicht gesehen haben.

                            Habe ich auch nicht.

                            Die Aufgabe lautete: "Das Script soll im Hintergrund arbeiten"
                            und im Übrigen denke ich das dieses hier ein Forum ist, und kein Chat.

                            Richtig, aber ein problemorientiertes.

                            PS: die letzten Zugriffe

                            darin kann ich weder meine aktuelle IP noch meine aktuellen Browserkennungen finden.

                            Grüße aus Berlin

                            Christoph S.

                2. hallo,

                  z.B.:
                  print "Content-Type: text/javascript\n\n";

                  Das erscheint mir denn doch höchst fragwürdig  -  weil "viel zu kurz".

                  Möglich wäre:
                    print header('-type'=>'text/html', '-charset'=>$charset) unless $done_headers;
                    print <<EOERR;
                    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
                    <html>
                    <head><title>Counter</title>
                    <meta http-equiv="Content-Language" content="de">
                    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
                    <link rel="stylesheet" type="text/css" href="$style">
                    <script type="text/javascript" language="javascript">
                    document.write("<!-- leer -->");
                    </script>
                    </head>
                    <body>
                    ...
                    </body>
                    </head>
                    EOERR

                  Aber das ist etwas völlig anderes als ein einfacher Counter, um den es hier ja geht. Damit betreibst du einen Aufwand, der für einen Countzer vollkommen ungerechtfertigt ist.

                  Grüße aus Berlin

                  Christoph S.

                  1. hallo,

                    z.B.:
                    print "Content-Type: text/javascript\n\n";
                    Das erscheint mir denn doch höchst fragwürdig  -  weil "viel zu kurz".

                    Das ist nicht zu kurz. In der Kürze liegt die Würze :-)

                    Dieses Script soll ja so aufgerufen werden:

                    <script src="script.pl" language="javascript" type="text/javascript"></script>

                    Grüße Oesi

                    1. hi,

                      print "Content-Type: text/javascript\n\n";
                      Dieses Script soll ja so aufgerufen werden:
                      <script src="script.pl" language="javascript" type="text/javascript"></script>

                      Und wie, bitteschön, bringst du Javascript dazu, (ältere) PERL-Syntax zu befolgen?

                      Christoph S.

                      1. hi,

                        probiers doch einfach mal aus.

                        Grüße Oesi

                        1. hallo Oesi,

                          probiers doch einfach mal aus.

                          Das habe ich längst getan, dein Rat ist im übrigen nicht neu. Was nichts daran ändert, daß er nicht korrekt ist. Ich bat dich, mir eine _valide_ Seite zu nennen, auf der das funktioniert.

                          Christoph S.

                          1. hallo,
                            Was nichts daran ändert, daß er nicht korrekt ist. Ich bat dich, mir eine _valide_ Seite zu nennen, auf der das funktioniert.

                            Ein Stück weiter unten hab ich Dir den Link schon gepostet.
                            Grüße Oesi

                      2. Hi,

                        print "Content-Type: text/javascript\n\n";
                        Dieses Script soll ja so aufgerufen werden:
                        <script src="script.pl" language="javascript" type="text/javascript"></script>
                        Und wie, bitteschön, bringst du Javascript dazu, (ältere) PERL-Syntax zu befolgen?

                        Und wie, bitteschön, kommst Du auf die Idee, daß beim Client auch nur die Spur von Perl ankommt?
                        Mit obengenanntem Perlscript kommt beim Browser an:

                        Content-Type: text/javascript

                        Also ein kompletter http-Response-Header, gefolgt von einem 0 Byte langen Javascript.

                        cu,
                        Andreas

                        --
                        Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
                        http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
        2. Hi,

          aber man kann ja z.b. durch <script src="counter.cgi"></script> auch ein cgi-prog starten.
          Was du hier zitierst, ist nicht zwingend Javascript. Außerdem bedeutet src="counter.cgi" nicht, daß es sich um ein "echtes" CGI-Programm, das auf dem Server irgendwelche Aktionen auslöst, handeln muß.

          Durch das src="counter.cgi" wird ein http-Request an den Server ausgelöst, in dem die Ressource counter.cgi angefordert wird.
          Wenn der Server entsprechend konfiguriert ist, wird damit auf dem Server ein CGI-Script gestartet.

          Um den Erwartungen des Browsers zu genügen, sollte dieses Script etwas vom content-type text/javascript (diese type-Angabe sollte im Script-Element auch vorhanden sein) zurückliefern - es kann auch ein absolut leeres Script sein, es reicht also
          content-type: text/javascript
          Gefolgt von 2 Zeilenumbrüchen (um den Header abzuschließen).
          Um Probleme mit der Inhaltsleere zu vermeiden, würde ICH noch eine Kommentarzeile a la
          //empty javascript
          mit ausliefern, also folgende Response:
          content-type: text/javascript

          //empty javascript

          Die Auswertung, ob Cookie gesetzt ist und das Setzen des Cookies kann vom counter.cgi erledigt werden - der Header muß also ggf. um eben diesen Cookie erweitert werden.

          Das "Anstoßen" eines CGI-Programms funktioniert nur dann, wenn dein Javascript noch ein  -  eventuell unsichtbares  -  Formular schreibt und darin dann über "action" ein CGI-Programm anstößt.

          Nein. Ein CGI-Script kann durch einen beliebigen http-Request gestartet werden.
          Ein Formular ist NICHT nötig.

          Dieser "Anstoß" wird aber nicht von Javascript ausgelöst, sondern vom "Anzeigegerät"

          Das trifft auch beim script-Element zu.

          (was in der Regel der Browser ist), das diesen Javascript-Code ausliest und befolgt.

          Da in diesem Fall der Javascript-Code irrelevant ist, ist das egal.

          ich brauch nur eine funktion die das programm nur durchlaufen lässt.
          Ein CGI-Programm rufst du typischerweise in einem Formular auf. Javascript brauchst du dafür nicht.

          Ein CGI-Programm kann, wie bereits gesagt, durch einen beliebigen http-Request gestartet werden.

          cu,
          Andreas

          --
          Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
          http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
          1. Hi,

            aber man kann ja z.b. durch <script src="counter.cgi"></script> auch ein cgi-prog starten.
            Durch das src="counter.cgi" wird ein http-Request an den Server ausgelöst, in dem die Ressource counter.cgi angefordert wird.
            Wenn der Server entsprechend konfiguriert ist, wird damit auf dem Server ein CGI-Script gestartet.

            Nachtrag:
            da die im src-Attribut des script-Elements angegebene Ressource nur von javascript-fähigen Browsern angefordert wird, wäre es schlauer, ein img-Element dafür zu benutzen und dann ein transparentes Bild der Größe 1x1 zurückzuliefern.

            cu,
            Andreas

            --
            Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
            http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
  2. Moin Julia!

    Oh je, so ein langer Thread, und jede zweite Antwort ist von Christoph Schnauss. Lass mich raten - er hat im kompletten Thread irgendwelchen Schwachsinn erzaehlt und Du bist jetzt ziemlich verwirrt? Und natuerlich bist Du der Loesung Deines Problems keinen Schritt naeher gekommen? Dann graeme Dich nicht, denn es liegt nicht an Dir. Das macht er immer so.

    [quotes rearranged]

    ich wollt mal fragen wie ich ein cgi-programm mit javascript starten kann.

    Naja, der Terminus "CGI-Programm starten" ist schlecht gewaehlt. Bei HTTP fordert man immer nur URLs an. Wenn hinter einer URL so ein CGI-Prog steht, wird es dann natuerlich ausgefuehrt. Ich weiss, das kommt auf's selbe raus, aber man sollte sich des Unterschiedes bewusst sein. Denn wenn Du schreibst:

    aber es sollte keine location.herf sein, weil da kommen die besucher zum prog, dass prog soll aber nur im hintergrund ausgeführt werden.

    dann musst Du Dir klar machen, dass das Anfordern einer URL immer in der Rueckgabe irgendeines Contents resultiert.[1] Die Frage lautet also eher: Wie kann ich den Content moeglichst gut vorm Besucher verstecken.

    if(navigator.cookieEnable == true) {
       //programm starten
    }

    Also ohne die Bedingung, dass die URL nur angefordert wird, wenn navigator.cookieEnabled true ist, waere das wirklich leichter. Aber nichts ist unmoeglich.[2]

    Man koennte nun abhaengig von navigator.cookieEnabled mit document.write() einen <script>- oder <img>-Tag schreiben. Im Falle von <script> kannst Du einfach ein einzeiliges kleines JS zurueckgeben, welches nur aus einem Kommentar besteht. Oder - falls es sich bei dem CGI-Prog um einen Counter handelt, kannst Du auch eine Zeile mit einer Variable ausgeben, die den Counterstand enthaelt. Bei <img> muss vom Script ein unsichtbares Bild zurueckgeliefert werden. Dazu kannst Du einfach ein herkoemmliches transparentes GIF nehmen und dieses mit dem Content-Type "image/gif" vom Script ausgeben lassen (siehe weiter unten). Ach so, bei <script> musst Du den Content-Type "text/javascript" benutzen.

    Ich mag document.write() allerdings nicht so, da einige Browser ziemliche Probleme damit haben und manchmal sinnlose Sachen machen oder gleich abstuerzen. Daher eine andere Moeglichkeit: Baue ein Dummy-Bild fest in Deine Seite ein und gib dem <img>-Tag aber einen guten Namen:
      <img id="counter-dummy-img" name="counter-dummy-img" src="/images/1x1-dummy.gif" width="1" height="1" alt="">
    Dann kannst Du spaeter mit JS auf dieses Bild zugreifen und die Eigenschaft .src aendern (also normales Bilderwechselscript), wobei Du die URL Deines CGI-Scripts uebergibst. Das CGI-Script muss natuerlich wieder so ein transparentes GIF ausgeben.

    Wenn ich schreibe, das CGI-Script muss ein Bild zurueckgeben, dann hast Du da verschiedene Moeglichkeiten. Du kannst einerseits so eine Bilddatei auf dem Server liegen haben. Die oeffnest Du in Deinem Programm, liest den Inhalt in eine Variable, und schreibst den Inhalt der Variablen gleich wieder an STDOUT (Content-Type nicht vergessen!). Oder Du hast das Bild in Deinem normalen URL-Baum und antwortest vom Script aus einfach mit
      print("Location: http://www.domain.de/images/another-1x1-dummy.gif\n\n");
    (oder wie immer das in der von Dir verwendeten Sprache gemacht wird). Dann wird der Browser einfach an die Bild-Datei weitergeleitet (302-Response) und fordert sie dann separat an. Beachte unbedingt, dass Du in diesem Fall die *vollstaendige* URL angeben musst. Einfach nur "/images/...gif" ist *nicht* erlaubt, auch wenn viele Browser da tolerant sind. Oder, eine weitere Moeglichkeit, Du kannst die Daten des Bildes irgendwie codiert direkt in Dein Script schreiben und dann jedesmal decodieren und die Binaerdaten ausgeben. Base64 waere eine Codierung, die in diesem Zusammhang sinnvoll ist. Wie das genau geht, findest Du entweder allein raus oder nimmst vielleicht besser eine der anderen Varianten. ;-)

    <script language="javascript">

    Korrekt lautet das: <script type="text/javascript">
    Wenn Du auf sehr alte Browser Ruecksicht nehmen willst, kannst Du das language-Attribut ja noch zusaetzlich angeben. (Ist aber nur fuer HTML Transitional gueltig.)

    [1] Ok, es gibt da noch die Variante, eine 204-Antwort zurueck zu liefern, d.h. es gibt explizit keinen Content. Aber ich weiss nicht, inwieweit die Browser da mitspielen.
    [2] ausser vielleicht, Christoph dazu zu bringen, weniger Unsinn zu posten

    HTH && So long

    --
    Es gibt Diebe, die nicht bestraft werden und einem doch das Kostbarste stehlen: die Zeit.
        -- Napoleon Bonaparte
    1. Hi,

      ...nur so ein Gedanke:
      man koennte sowas doch auch ganz gut mit einem redirect loesen, sodass die cookieauswertung serverseitig geschen kann. Beim redirekt haengt man dann den aktuellen counterstand als Query dran, und wertet ihn clientseitig mit Javascript aus - oder laesst es.
      Gezaehlt wird aber in jedem Falle - unabhaengig ob Javascript an oder aus ist.

      Gruesse  Joachim

    2. Hallo Roland, hallo Julia

      if(navigator.cookieEnable == true) {
         //programm starten
      }

      Also ohne die Bedingung, dass die URL nur angefordert wird, wenn navigator.cookieEnabled true ist, waere das wirklich leichter. Aber nichts ist unmoeglich.[2]

      <img id="counter-dummy-img" name="counter-dummy-img" src="/images/1x1-dummy.gif" width="1" height="1" alt="">
      Dann kannst Du spaeter mit JS auf dieses Bild zugreifen und die Eigenschaft .src aendern (also normales Bilderwechselscript), wobei Du die URL Deines CGI-Scripts uebergibst. Das CGI-Script muss natuerlich wieder so ein transparentes GIF ausgeben.

      :-) warum nicht einfach so?

      if(navigator.cookieEnable == true) {

      bild=new Image();
       bild.src = "counter.cgi";
      }

      hier spielt es keine Rolle, was das CGI zurückgibt. Allerdings funktioniert es wirklich nur mit JS-fähigen Browsern und nicht im IE3.
      Sauberer ist es natürlich, wenn das Script trotzdem ein Bild ausliefert, aber erforderlich ist das nicht unbedingt.

      Korrekt lautet das: <script type="text/javascript">
      Wenn Du auf sehr alte Browser Ruecksicht nehmen willst, kannst Du das language-Attribut ja noch zusaetzlich angeben. (Ist aber nur fuer HTML Transitional gueltig.)

      nö, die Angabe kennen nur Browser ab Version 4 und lediglich bei Opera bis mindestens Version 5 (die folgenden habe ich nicht getestet diesbezüglich) spielte diese Angabe wirklich eine Rolle, weil Opera das Type-Attribut nicht ausgewertet hat.

      Viele Grüße

      Antje

      1. Moin Antje!

        :-) warum nicht einfach so?

        if(navigator.cookieEnable == true) {

        bild=new Image();
        bild.src = "counter.cgi";
        }

        Das waere natuerlich die zu bevorzugende Variante, weil man ja nicht noch irgendwo dieses Bild in der Seite unterbringen muss. Ausserdem ist man damit vom Ladevorgang unabhaengiger. (Bei meiner Variante muss das <IMG>-Element zum Zeitpunkt der Scriptausfuehrung fertig bearbeitet sein.) Aber ich bin mir nicht so sicher, ob das wirklich funktioniert. Ich habe naemlich festgestellt, dass die bekannten Bilder-fuer-Mouseover-Effekte-Vorlade-Scripts, die ja genauso arbeiten, bei Mozilla nicht richtig funktionieren. Der fragt unverbluemt einfach nochmal beim Webserver nach dem Bild, sobald der Mouseover-Effekt ausgeloest wird. (Koennte auch mit den Cache-Einstellungen zusammenhaengen.) Nun bin ich bekanntlich viel zu faul, der Sache genau auf den Grund zu gehen. Deshalb konnte ich das nicht empfehlen. Aber wie ich Dich kenne, hast Du das bestimmt schon mal detailliert untersucht und kannst uns genau darueber aufklaeren? ;-)

        hier spielt es keine Rolle, was das CGI zurückgibt. Allerdings funktioniert es wirklich nur mit JS-fähigen Browsern und nicht im IE3.
        Sauberer ist es natürlich, wenn das Script trotzdem ein Bild ausliefert, aber erforderlich ist das nicht unbedingt.

        Das glaub ich Dir jetzt einfach mal. *g* Schoen finde ich das wirklich nicht.

        Korrekt lautet das: <script type="text/javascript">
        Wenn Du auf sehr alte Browser Ruecksicht nehmen willst, kannst Du das language-Attribut ja noch zusaetzlich angeben. (Ist aber nur fuer HTML Transitional gueltig.)

        nö, die Angabe kennen nur Browser ab Version 4 und lediglich bei Opera bis mindestens Version 5 (die folgenden habe ich nicht getestet diesbezüglich) spielte diese Angabe wirklich eine Rolle, weil Opera das Type-Attribut nicht ausgewertet hat.

        Das hab ich nicht so ganz kapiert. Nochmal im Klartext, fuer welche Browser braucht man welches Attribut unbedingt?

        So long

        --
        Es gibt Diebe, die nicht bestraft werden und einem doch das Kostbarste stehlen: die Zeit.
            -- Napoleon Bonaparte
        1. Hallo Roland,

          Aber ich bin mir nicht so sicher, ob das wirklich funktioniert. Ich habe naemlich festgestellt, dass die bekannten Bilder-fuer-Mouseover-Effekte-Vorlade-Scripts, die ja genauso arbeiten, bei Mozilla nicht richtig funktionieren. Der fragt unverbluemt einfach nochmal beim Webserver nach dem Bild, sobald der Mouseover-Effekt ausgeloest wird. (Koennte auch mit den Cache-Einstellungen zusammenhaengen.) Nun bin ich bekanntlich viel zu faul, der Sache genau auf den Grund zu gehen. Deshalb konnte ich das nicht empfehlen. Aber wie ich Dich kenne, hast Du das bestimmt schon mal detailliert untersucht und kannst uns genau darueber aufklaeren? ;-)

          :-) natürlich, dass hatte ich schon vor meinem Posting untersucht. Das Script wird von all meinen installierten Browsern aufgerufen und hinterläßt brav seinen Eintrag im Log.

          Da das Bildobjekt nicht weiter verarbeitet wird, spielt es auch keine Rolle, wie der Browser sich bezüglich des Caches verhält. Interessant wäre allenfalls, was er tut, wenn das gleiche Script auf jeder Seite eingebaut ist und auch tatsächlich ein Bild zurückliefert.
          Aber das mögen andere testen.

          nö, die Angabe kennen nur Browser ab Version 4 und lediglich bei Opera bis mindestens Version 5 (die folgenden habe ich nicht getestet diesbezüglich) spielte diese Angabe wirklich eine Rolle, weil Opera das Type-Attribut nicht ausgewertet hat.

          Das hab ich nicht so ganz kapiert. Nochmal im Klartext, fuer welche Browser braucht man welches Attribut unbedingt?

          Opera ist der einzige Browser ab Version 4, der das Type-Attribut nicht interpertiert und zwingend das language-Attribut benötigt. Hier ein kleines Beispiel:

          <script language="VBScript" type="text/vbscript">
          <!--

          MsgBox("Text mit VB")

          '-->
          </script>

          hier verhalten sich alle Browser gleich, IE interpretiert das Script, der Rest ignoriert es.

          <script type="text/vbscript">
          <!--

          MsgBox("Text mit VB")

          '-->
          </script>

          Dieses Script versucht Opera zu interpretieren und wirft eine Fehlermeldung. Die Default-Scriptsprache JavaScript wird nicht, wie vom Standard gefordert, überschrieben.

          Opera (getestet mit 7.10) ist der einzige mir bekannte Browser der zwingend das Language-Attribut benötigt, wenn man einen speziell definierten Sprachbereich festlegen möchte. Selbst Netscape 4 kommt mit diesem einfachen Attribut zurecht.

          Viele Grüße

          Antje

          1. Moin auch!

            :-) natürlich, dass hatte ich schon vor meinem Posting untersucht. Das Script wird von all meinen installierten Browsern aufgerufen und hinterläßt brav seinen Eintrag im Log.

            Gut zu wissen.

            Interessant wäre allenfalls, was er tut, wenn das gleiche Script auf jeder Seite eingebaut ist und auch tatsächlich ein Bild zurückliefert.

            Oh ja. ;-)

            [script-attribute]

            Dieses Script versucht Opera zu interpretieren und wirft eine Fehlermeldung. Die Default-Scriptsprache JavaScript wird nicht, wie vom Standard gefordert, überschrieben.

            D.h. also, der Default ist auch bei Opera JavaScript? Davon bin ich naemlich ausgegangen, denn es geht ja hier um JS. Und wer verwendet schon VBScript, ausser vielleicht, wenn man Seiten wie http://users.wpi.edu/~xb95/cupholder.html schreiben will. *g* (Kann Opera ueberhaupt was anderes als JS?)

            So long

            --
            Es gibt Diebe, die nicht bestraft werden und einem doch das Kostbarste stehlen: die Zeit.
                -- Napoleon Bonaparte
    3. ??????????????????????????????
      grade habe ich dasForum durchgelesen und findees nicht so sehr gut.

      Oh je, so ein langer Thread, und jede zweite Antwort ist von Christoph Schnauss.Istes nicht, weil: erschreibt sich nach alt

      er Rechtschreibung mit ß am Ende  -  daß du's weißt. so.

      »»Lass mich raten - er hat im kompletten Thread irgendwelchen Schwachsinn erzaehlt
      Hat er nicht im _kompletten_ Thread, aber an manchen Stellenhat er das.

      Das macht er immer so.

      Nein, nichtimmer, aber das ist schwerzu beweisen, e gibt vielleicht zwei oder drei Sachen, woer richtiges Zeugs geschrieben hat, nun sei mal nicht so, ja??????????????????????????????????????????????????

      [quotes rearranged]

      Was ist denn das nun, das verleitet mich dazu, Hochdeutsch zu sprechen ...

      Naja, der Terminus "CGI-Programm starten" ist schlecht gewaehlt.

      Ebent (ups, kein Rechtschreibdeutsch).

      Bei HTTP fordert man immer nur URLs an.

      Nö. URI gibts auch.

      Ich mag document.write() allerdings nicht so

      Weiß ichja, aber reden wir mal nichtdavon.

      <script language="javascript">
      Korrekt lautet das: <script type="text/javascript">

      Da gibts auch noch einen Browser,m der unbedingt "language" haben möchte, auch wenn das nicht W3C-konform sein sollte. Der Validator bemeckert es jedenfalls nicht, wenndu
        <script type="text/javascript" language="javascript">
      schreibst. Wahrscheinlich ist das sogar die

      allerkorrekteste Schreibweise  -  jedenfalls zur Zeit.

      Wenn Du auf sehr alte Browser Ruecksicht nehmen willst, kannst Du das language-Attribut ja noch zusaetzlich angeben. (Ist aber nur fuer HTML Transitional gueltig.)

      ähm. jaja. bistdu dasicher (hab grade keine Lust, beim W3C rumzukrqbbeln und dich zu widerlegen).

      [2] ausser vielleicht, Christoph dazu zu bringen, weniger Unsinn zu posten

      Jawohl, ich bemühemich grade, kann aberfür nix[1] garantieren, und amcht ja letzten Endes auch nix[1].

      grüße dich und euchalle ganz lieb

      ??????????????????????????????????????????????
      alsowiebitte

      1. Guten Tag, Du!

        Bei HTTP fordert man immer nur URLs an.
        Nö. URI gibts auch.

        Interesant, Du kennst anscheinend Webserver, die auch URNs bearbeiten.

        Den restlichen Buchstabensalat formulierst Du bitte nochmal in Deutsch, wenn Du wieder nuechtern bist. Bis dahin kannst Du ja vielleicht schon mal http://forum.de.selfhtml.org/faq/#Q-20 lesen, damit Dir das Namensfeld wieder zur Verwendung entsprechend seines Zweckes zur Verfuegung steht.

        So long

        --
        Es gibt Diebe, die nicht bestraft werden und einem doch das Kostbarste stehlen: die Zeit.
            -- Napoleon Bonaparte
    4. Hi,

      Oh je, so ein langer Thread, und jede zweite Antwort ist von Christoph Schnauss. Lass mich raten - er hat im kompletten Thread irgendwelchen Schwachsinn erzaehlt [...] Das macht er immer so.

      Ich darf hier eines klarstellen:

      Es war _nicht_ der echte Christoph Schnauß, der den ganzen Mist in diesem Thread gepostet hat.

      BTW stimmt es mich irgendwie ein wenig traurig, dass es außer mir keiner gemerkt zu haben scheint.

      Torsten

      --
      Wäre Stoizismus eine Programmiersprache, würde ich ein Experte sein.
      1. Moin!

        Ich darf hier eines klarstellen:
        Es war _nicht_ der echte Christoph Schnauß, der den ganzen Mist in diesem Thread gepostet hat.

        Nun, erklaerst Du uns auch, wie Du darauf kommst?

        So long

        --
        Es gibt Diebe, die nicht bestraft werden und einem doch das Kostbarste stehlen: die Zeit.
            -- Napoleon Bonaparte
        1. Hi,

          Nun, erklaerst Du uns auch, wie Du darauf kommst?

          Ich habe ihn gefragt.

          Viele Grüße
          Torsten

          --
          Wäre Stoizismus eine Programmiersprache, würde ich ein Experte sein.
          1. Moin!

            Nun, erklaerst Du uns auch, wie Du darauf kommst?

            Ich habe ihn gefragt.

            Du bist darauf gekommen, indem Du ihn gefragt hast? ;-)

            Wenn es tatsaechlich nicht er echte Christoph ist, dann ist es wirklich ein verdammt guter Fake. Er hat naemlich auch Details nachgemacht, die den Fakern, die wir bisher hier so kennengelernt haben, nicht mal aufgefallen waeren, geschweige denn, dass sie sie reproduziert haetten. Das heisst dann, dass die Zeiten, in denen wir uns ruehmen konnten, dass wir auch ohne entsprechende technische Einrichtungen Fakes von authentischen Postings unterscheiden koennen, vorbei sind.

            So long

            --
            Es gibt Diebe, die nicht bestraft werden und einem doch das Kostbarste stehlen: die Zeit.
                -- Napoleon Bonaparte
            1. hi Calo,

              Du bist darauf gekommen, indem Du ihn gefragt hast? ;-)

              Siechfred war nicht ganz exakt. Nein, er hat mich nicht gefragt, aber er hat mir gegenüber sein Bedauern ausgedrückt, daß ich mich so verhalte, wie ich es in der Lounge angekündigt habe  -  und als Begründung habe ich ihn auf _diesen_ Thread verwiesen und ihm mitgeteilt, daß "Christoph Schnauß" hier nicht echt ist.

              Wenn es tatsaechlich nicht er echte Christoph ist, dann ist es wirklich ein verdammt guter Fake.

              Ist es. Und ein paar Minuten eher gabs schonmal ein "Probefake", das überhaupt nicht auffallen konnte, weil es sachlich völlig unangreifbar ist.

              Er hat naemlich auch Details nachgemacht

              Bis tief hinein in die Sprachführung, die Art des Zitierens aus einem vorangegangenen posting, den Zeitpunkt der Topicänderung, das Anziehen eines W3C-links. Sogar der "Einstieg" stimmt: ja, auf so eine Forumsnachfrage wie die von Julia hätte ich antworten mögen  -  wenn ich nicht einen Tag vorher (in der Lounge nachlesbar) beschlossen hätte, mir eine "Schreibpause" zu gönnen.
              Wer auf diese Weise faken kann, muß schon ein gewisses Grundlagenwissen und eine ausgeprägte Beobachtungsgabe haben. Rätselhaft ist mir ganz einfach das "Warum". Die Fakes, die es zuvor schon gegeben hatte, waren wesentlich leichter zu enttarnen.

              Das heisst dann, dass die Zeiten, in denen wir uns ruehmen konnten, dass wir auch ohne entsprechende technische Einrichtungen Fakes von authentischen Postings unterscheiden koennen, vorbei sind.

              Das heißt es wohl. Es gab übrigens zeitlich noch _vor_ meinem Hinweis an Siechfred zwei mails an andere gut bekannte Forumsmitglieder, denen ich dieses Fake ebenfalls "angezeigt" und ihnen auch meine Account-Daten verraten habe. Ich kann doch nicht ankündigen "ich muß weg"  -  und einen Tag später so nen Thread bestreiten.
              Die "technischen" Hilfsmittel zur Enttarnung eines Fakers sind begrenzt. Selbstverständlich kann die IP leicht herausgefunden werden, und wenn dann dazu auch noch Betriebssystem und Browserkennung "stimmen", ist normalerweise die Identifikation relativ zuverlässig. Aber eben nur relativ. Jeder, der das Forum kennt und gelegentlich meine postings gelesen hat, kann wissen, daß ich eine t-online-Anbindung habe  -  das ist eine IP 217.xxx.xxx.xxx. Ich brauche aber bloß mal die Verbindung kurz trennen und mich neu anzumelden, schon hab ich eine neue t-online-IP. Und dann: ich habe gelegentlich zu erkennen gegeben, daß ich WinXP häufig fahre und dann als "Standard" den IE 6 einsetze  -  das kann ein Faker auch. Damit ist auch die Kombination von t-online-IP und Browserkennung alles andere als ein zuverlässiges Erkennungsmittel. Und nicht einmal der Forums-Account ist "sicher". Ich habe versucht, ihn zu löschen  -  scheinbar erfolglos, ich bekomme nen Server-Error zurück. Teilweise haben wir ja in meinem inzwischen archivierten Thread http://forum.de.selfhtml.org/archiv/2003/7/51616/ (oberflächliche) Möglichkeiten für Fakes durchgespielt.

              "Christoph Schnauß" ist vorläufig gestorben bzw. scheintot. Ich lese noch mit (schließlich gibt es viele Threads, an denen ich etwas lernen kann), aber ich kann noch nicht sagen, ob, wann und wie "Christoph Schnauß" auch mit Wortmeldungen wieder vorhanden sein wird.
              Natürlich habe ich gelegentlich Fehler gemacht  -  auch in Antworten. Allzuviele sind es nicht, aber "sowas" wie dieser Thread kann mir nun eigentlich nicht mehr unterlaufen. Das müßtest selbst du mir zugestehen können.

              Grüße aus Berlin

              Christoph Schnauß

              http://selftreffen.kuemmi.ch/

              PS: weitere Antworten wird es von mir _hier_ nicht geben. Ich denke aber, du weißt, daß ich auch zu fehlerhaften Aussagen stehe und eventuelle Korrekturen wie die von Frank Schönmann oder von dir annehme und das auch zu erkennen gebe. _Hier_ kann ich nur bedauern, daß Julia von einem Fake über mehrere Stunden an der Nase herumgeführt wurde.

  3. Guten Morgen Julia,

    ich habe nicht den kompletten Thread gelesen, sollte ich also bereits angebotene Lösungsansätze wiederholen, bitte ich um Nachsicht. Zunächst stellt sich mir die Frage, warum willst du unbedingt die Kombination JS und Perl? Vielleicht wäre es schlauer, dein Vorhaben komplett mit Perl umzusetzen. Ich würde dabei so vorgehen:

    Binde deinen Counter mittels SSI in deine Seite ein, alternativ zum bereits vorgeschlagenen Dummy-Bildchen kannst du auch ein " " ausgeben lassen. Verzichte auf Cookies, denn wenn diese deaktiviert sind, bringt das deinen Counter völlig durcheinander. Versuche es statt dessen mit einer IP-Sperre kombiniert mit einer Referrer-Sperre, das ist zwar auch nicht fehlerfrei, führt aber nach meiner Meinung zu realistischeren Ergebnissen als Cookies.

    Abschließend solltest du dir (so noch nicht geschehen) folgendes zu Gemüte führen:
    http://selfhtml.teamone.de/cgiperl/intro/ssi.htm
    http://aktuell.de.selfhtml.org/artikel/programmiertechnik/useronline/index.htm

    Letzterer betrifft zwar vom Ansatz her ein anderes Problemfeld, die dort gebotenen Lösungsansätze kannst du aber auch in deinem Counterscript verwenden.

    Viele Grüße
    Torsten

    --
    ss:| zu:) ls:] fo:) de:[ va:| ch:? sh:( n4:~ rl:? br:> js:| ie:% fl:( mo:)
  4. if(navigator.cookieEnable == true) {
       //programm starten

    var img = new Image();

    img.src = "htpp://deine.domain.de/cgi-bin/skript.pl";

    Dein skript sollte dann ein Bild zurückgeben.

    Struppi.