bugfix: css Kompatibilität IE / Edge

0 128

css Kompatibilität IE / Edge

bugfix
  • css
  1. 0

    css kompatibelität IE / Edge

    Martl
    1. 0
      bugfix
      1. 0
        Rolf B
      2. 1
        Martl
        1. 0
          bugfix
  2. 1

    css kompatibelität IE / Edge

    Rolf B
    1. 0
      Matthias Apsel
    2. 1
      Rolf B
      1. 0
        Matthias Apsel
        1. 0
          Rolf B
      2. 0
        bugfix
        1. 1
          Rolf B
          1. 0
            bugfix
  3. 0

    css kompatibelität IE / Edge

    Rolf B
    1. 0
      bugfix
      1. 1
        Rolf B
        1. 0
          bugfix
    2. 1

      Captcha

      Raketenwissenschaftler
      • barrierefreiheit
      • php
      • software
      1. 0
        bugfix
        1. 0
          Raketenwissenschaftler
          1. 0
            bugfix
            1. 0
              Der Martin
              • humor
              • mathematik
              1. 0
                Gunnar Bittersmann
                • humor
                • menschelei
              2. 0
                bugfix
            2. 0
              Tabellenkalk
            3. 0

              Über: „sehr viel Zeit investieren“

              Raketeninstandhaltungsmechaniker
              • menschelei
          2. 1
            Raketeninstandhaltungsmechaniker
            1. 1
              Der Martin
              1. 1
                Raketeninstandhaltungsmechaniker
                1. 0
                  Matthias Apsel
                  1. 0
                    Raketeninstandhaltungsmechaniker
                2. 0
                  bugfix
                  1. 0
                    Der Martin
                    1. 0
                      bugfix
                      1. 1
                        Der Martin
                        1. 0
                          bugfix
                  2. 1
                    Raketenbürokrat
                    1. 1
                      Raketenbürokrat
                    2. 0
                      bugfix
                      1. 1

                        Captcha, Beispiel und Test mit vollständigem Formular, Wichtige Warnung

                        Raketenbürokrat
                        • php
                        • sicherheit
                        1. 0
                          bugfix
                          1. 1
                            Schon gehackt!
                            1. 0
                              Raketenhacker
                              1. 1
                                Julius
                                1. 0
                                  Gunnar Bittersmann
                                  • literatur
                                  • menschelei
                                  1. 0
                                    Julius
                                    1. 0
                                      Gunnar Bittersmann
                                    2. 0
                                      Gunnar Bittersmann
                                      1. 0
                                        Der Martin
                                        1. 0
                                          Gunnar Bittersmann
                                      2. 1
                                        Gunnar Bittersmann
                          2. 2
                            Julius
                            1. 1
                              Julius
                              1. 2
                                Julius
                                1. 0
                                  Matthias Scharwies
                                  • zusammenarbeit
                                  1. 0

                                    Seuche

                                    Raktenstatistiker
                                    • sicherheit
                                    • zusammenarbeit
                                  2. 1
                                    Julius
                                    1. 0
                                      Der Martin
                                2. 0
                                  bugfix
                              2. 1
                                Julius
                                • php
                                • sicherheit
                                • wiki
                                1. 0

                                  SELF-Wiki neue PHP-Tutorials

                                  Matthias Scharwies
                                2. 0
                                  Raketenporzellankistengroßmutter
                                  1. 0

                                    (Erläuterung)

                                    Raketenporzellankistengroßmutter
                                    1. 1
                                      Julius
                                      1. 0
                                        Raketenporzellankistengroßmutter
                                        1. 2
                                          Julius
                                          1. 0
                                            Raketenporzellankistengroßmutter
                                  2. 1
                                    Julius
                                    1. 1
                                      Julius
                                      1. 0
                                        bugfix
                                        1. 1
                                          Julius
                                          • recht
                                          • wiki
                                          1. 0
                                            Gunnar Bittersmann
                                            • datenschutz
                                            • privatsphäre
                                            • recht
                                            1. 2
                                              Julius
                                          2. 0
                                            bugfix
                                            1. 2
                                              Julius
                                              1. 0
                                                bugfix
                                      2. 0
                                        Matthias Scharwies
                    3. 0
                      bugfix
                      1. 0
                        Der Martin
                        1. 0
                          bugfix
                          1. 0
                            Der Martin
                          2. 3

                            Bugfix! Du musst was tun!

                            Raktenbugfinder
                            • sicherheit
                            1. -1
                              bugfix
                              1. 3
                                Raketenvereinfacher
                                • php
                                1. 0
                                  Raketenquelltextkorrigierer
                                  1. 0
                                    bugfix
                                    1. 0
                                      Raketencomputerpsychologe
                                      1. 0
                                        bugfix
                                        1. 0
                                          Raketenpsychologe
                                          1. 0
                                            bugfix
                                            1. 0
                                              Raketenfuzzi
                                              1. 0
                                                bugfix
                                                1. 1
                                                  Raktenkonfigurationsseppl
                                                  • vorgehensweise
                                                  1. 0
                                                    bugfix
                                            2. 1
                                              Rolf B
                                              1. 0
                                                bugfix
                                                1. 6
                                                  Rolf B
                                                  1. 0
                                                    Raketenbetrachter
                                                    • meinung
                                                    • vorgehensweise
                                                    1. -1
                                                      bugfix
                                                  2. 1
                                                    bugfix
                                                    1. 1
                                                      Julius
                                                      • html
                                                      • javascript
                                                      • php
                                                      1. 0
                                                        bugfix
                          3. 1
                            Julius
                            1. 0
                              bugfix
                              1. 0
                                Der Martin
                              2. 0
                                Raketenortungssystem
                                1. 0
                                  bugfix
                                  1. 0
                                    Tabellenkalk
                                    1. 0
                                      bugfix
                                      1. 0
                                        Tabellenkalk
                                        1. 0
                                          bugfix
                                          1. 0
                                            Gunnar Bittersmann
                                  2. 1

                                    Desinfektionsmittel

                                    Raketenhellseher
                              3. 0
                                Matthias Apsel
                            2. 1
                              Matthias Apsel
            2. 0

              Break this Captcha

              Raketeninstandhaltungsmechaniker
  4. 1

    css kompatibelität IE / Edge

    Gunnar Bittersmann
    • design
    • formulare
    • ux
    1. 0
      bugfix
      1. 0
        Gunnar Bittersmann
        1. 0
          bugfix
          1. 0
            Gunnar Bittersmann
          2. 2
            Gunnar Bittersmann
            1. 0
              bugfix
            2. 0
              bugfix
      2. 1
        Matthias Apsel
        1. 0
          Der Martin
        2. 0
          bugfix

problematische Seite

Moin zusammen,

ich muss leider schon wieder nerven, weil ich keine Lösung für ein Kompatibelitätsproblemchen finde um dem IE & Edge ein tolles CSS zu erklären. Diese ewig gestrigen Nervteile verstehen mal wieder nix.

Ich hab mir ein nettes kleines Kontaktformular zusammen geklaut, das php hab ich aus einem Blog, ein passendes CSS gab's auf codepen. Das PHP scheint unproblematisch zu sein, also liegts am CSS, ich finde aber nichr raus woran genau. Keine Kompatibelitätsangaben hab ich zu diesem * + * Selektor gefunden... Das Teil gibt's aber schon mindestens 6 Jahre also liegt es warscheinlich nicht daran.

Vielleicht kann mal jemand einen schnellen Blick in den Seitenquelltext werfen und mir einen Hinweis geben.

Danke schon mal im Voraus & auf Wiederlesen!

der torsten

--
------- Shakespeare sagt: To be or not to be / Sartre sagt: To be is to do / Camus sagt: To do is to be / Sinatra singt: Do be do be do
  1. problematische Seite

    Hallo der torsten,

    hier sollte vielleicht eine andere ID rein?

    <label for="email">?¿?¿</label>
    

    Grüße, Martl

    1. problematische Seite

      Moin Martl,

      <label for="email">?¿?¿</label>
      

      eigentlich nicht… warum?

      Danke schon mal im Voraus & auf Wiederlesen!

      der torsten

      --
      ------- Shakespeare sagt: To be or not to be / Sartre sagt: To be is to do / Camus sagt: To do is to be / Sinatra singt: Do be do be do
      1. problematische Seite

        Hallo bugfix,

        eigentlich doch, weil - für Captcha, nicht für Email.

        Rolf

        --
        sumpsi - posui - obstruxi
      2. problematische Seite

        Hallo der torsten,

        <label for="email">?¿?¿</label>
        

        eigentlich nicht… warum?

        Darum:

        <label for="email">Wie</label>
        

        Soll doch wohl für "captcha" sein.

        Grüße, Martl

        1. problematische Seite

          Moin Martl,

          <label for="email">?¿?¿</label>
          

          eigentlich nicht… warum?

          Darum:

          <label for="email">Wie</label>
          

          Soll doch wohl für "captcha" sein.

          oh, dumm... uRright,thx

          (lustig dass die schlauen Browser mich trotzdem verstehen...)

          Danke schon mal im Voraus & auf Wiederlesen!

          der torsten

          --
          ------- Shakespeare sagt: To be or not to be / Sartre sagt: To be is to do / Camus sagt: To do is to be / Sinatra singt: Do be do be do
  2. problematische Seite

    Hallo bugfix,

    Du hast da eine Regel mit einem "Oder" Selektor drin:

    form input[type="text"]:focus + label,
    form input[type="text"]:not(:placeholder-shown) + label,
    form textarea:focus + label,
    form textarea:not(:placeholder-shown) + label,
    form .field:hover label {
      width: 18%;
    }
    

    IE und Edge kennen placeholder-shown nicht und verwerfen deshalb die ganze Regel, nehme ich an.

    Du kannst das also so nicht machen. Der Edge-Edge wird noch eine Weile aktiv sein, und auf dem IE sollte Progressive Enhancement geschehen statt total unusablility. Das CSS muss so gestaltet sein, dass die neuen Elemente das gewünschte Feature hinzufügen, und für IE und Edge müssen die Labels per Default eingefahren sein.

    Der Default für das Label muss also width:18% sein, und dann musst Du alle Pseudoklassen-Abfragen umdrehen. Also so:

    form input[type="text"]:not(:focus) + label,
    form input[type="text"]:placeholder-shown + label,
    form textarea:not(:focus) + label,
    form textarea:placeholder-shown + label,
    form .field:not(:hover) label {
      width: 100%;
    }
    

    Das ist jetzt aus der Hüfte geschossen, ob's funktioniert musst Du ausprobieren.

    Rolf

    --
    sumpsi - posui - obstruxi
    1. problematische Seite

      Hallo Rolf B,

      form input[type="text"]:not(:focus) + label,
      form input[type="text"]:placeholder-shown + label,
      form textarea:not(:focus) + label,
      form textarea:placeholder-shown + label,
      form .field:not(:hover) label {
        width: 100%;
      }
      

      IE und Edge kennen placeholder-shown nicht und verwerfen deshalb die ganze Regel, nehme ich an.

      Bis demnächst
      Matthias

      --
      Du kannst das Projekt SELFHTML unterstützen,
      indem du bei Amazon-Einkäufen Amazon smile (Was ist das?) nutzt.
    2. problematische Seite

      Hallo Rolf,

      Der Default für das Label muss also width:18% sein, und dann musst Du alle Pseudoklassen-Abfragen umdrehen. Also so:

      form input[type="text"]:not(:focus) + label,
      form input[type="text"]:placeholder-shown + label,
      form textarea:not(:focus) + label,
      form textarea:placeholder-shown + label,
      form .field:not(:hover) label {
        width: 100%;
      }
      

      Der Schuß aus der Hüfte ging in den Fuß. Lieber Rolf, du hast andere schon so oft an De Morgan erinnert, also denk auch selbst dran.

      Ein negiertes ODER wird zum UND, man muss die Komma-Auflistung (die ein ODER darstellt) also in ein UND ändern. Das geht so:

      form .field:not(:hover) input[type="text"]:placeholder-shown:not(:focus) + label,
      form .field:not(:hover) textarea:placeholder-shown:not(:focus) + label {
        width: 100%;
      }
      

      Weitere empfehlenswerte Änderungen:

      • margin-bottom:1.5em in form .field ändern in padding-bottom:1.5em. Andernfalls gibt's Geflacker beim Hovern im input/textarea Bereich.
      • height:100% statt 4em in form .field label. Andernfalls ragen die Labels mit ihrem Padding unten über das .field div hinaus und führen ebenfalls zu instabilem Hovern.

      Rolf

      --
      sumpsi - posui - obstruxi
      1. problematische Seite

        Hallo Rolf B,

        ändert aber nichts an der Tatsache, dass im IE immer noch die gesamte Regel verworfen wird.

        Bis demnächst
        Matthias

        --
        Du kannst das Projekt SELFHTML unterstützen,
        indem du bei Amazon-Einkäufen Amazon smile (Was ist das?) nutzt.
        1. problematische Seite

          Hallo Matthias,

          ja. Aber das ist okay. Weil nämlich mit der Logik-Negierung die Labels per Default 18% breit sind und die Regel sie auf 100% ausweitet.

          D.h. im IE ist einfach der Effekt nicht vorhanden, und da mach ich jetzt mal den Gunnar: Progressive Enhancement At Work. Im IE sind die Felder schlichtweg ständig offen. Die Grundfunktion "Kontaktformular" der Seite funktioniert. Von den Bells-And-Whistles ist eine Pfeife verstopft. So what?

          Rolf

          --
          sumpsi - posui - obstruxi
      2. problematische Seite

        Moin Rolf,

        Der Schuß aus der Hüfte ging in den Fuß. Lieber Rolf, du hast andere schon so oft an De Morgan erinnert, also denk auch selbst dran.

        Ein negiertes ODER wird zum UND, man muss die Komma-Auflistung (die ein ODER darstellt) also in ein UND ändern. Das geht so:

        form .field:not(:hover) input[type="text"]:placeholder-shown:not(:focus) + label,
        form .field:not(:hover) textarea:placeholder-shown:not(:focus) + label {
          width: 100%;
        }
        

        hab,s ausprobiert. Leider erfolglos wenn ich das einbaue flackert nix mehr aber die Felder bleiben auch zu...

        mein unqualifiziertes rumgefummel an diesem CSS hat auch nichts gebracht...

        Danke schon mal im Voraus & auf Wiederlesen!

        der torsten

        --
        ------- Shakespeare sagt: To be or not to be / Sartre sagt: To be is to do / Camus sagt: To do is to be / Sinatra singt: Do be do be do
        1. problematische Seite

          Hallo bugfix,

          Der Default für das Label muss also width:18% sein

          Das hast du auch beachtet?

          Rolf

          --
          sumpsi - posui - obstruxi
          1. problematische Seite

            Moin Rolf,

            Der Default für das Label muss also width:18% sein

            Das hast du auch beachtet?

            Natürlich nicht, hab statt dem Label dem input und textarea die 18% verpasst, danke nochmal für den nachdrücklichen Hinweis...

            Danke schon mal im Voraus & auf Wiederlesen!

            der torsten

            --
            ------- Shakespeare sagt: To be or not to be / Sartre sagt: To be is to do / Camus sagt: To do is to be / Sinatra singt: Do be do be do
  3. problematische Seite

    Hallo bugfix,

    <div class="field">
          <input type="text" id="captcha" name="captcha" placeholder="344 + 1 = ?" />
          <label for="email">?&iquest;?&iquest;</label>
    	  <input type="hidden" name="captcha1" value="344" />
    	  <input type="hidden" name="captcha2" value="1" />
    </div>
    

    Das kannst Du auch nicht machen. Placeholder sind keine Labels, waren nie welche und werden auch nie welche sein; ein Screenreader wird sie nicht vorlesen und damit ist ein sehbehinderter Anwender vom Lösen des Captchas ausgeschlossen. Dass dein "Captcha" von einen ernstgemeinten Angriff mit einem Schulterzucken überrollt wird, ist Dir ohnehin klar?

    By the way, deine Textarea sollte eine Defaulthöhe von 3em bekommen. Die 4em führen zu der unschönen Lücke zwischen Textarea-Bereich und Captcha-Bereich.

    Rolf

    --
    sumpsi - posui - obstruxi
    1. problematische Seite

      Moin Rolf,

      ... ok, danke für die Hilfe, ich werde mich im Laufe des Tages damit beschäftigen, beim Captcha dreh' ich placeholder und label einfach um...

      ... ja ist klar,dass das alles (Captcha) nicht Ideal ist, zum Verständniss liste ich mal auf einer Skala auf wovon ich glaube, wieviel Ahnung zu haben:

      (10=excellent; 1=puuuuh!; -1=?)

      • html = 5
      • css = 2
      • Javascript = 0,5
      • PHP = −1
      • andere = oor (out of range)

      Danke schon mal im Voraus & auf Wiederlesen!

      der torsten

      --
      ------- Shakespeare sagt: To be or not to be / Sartre sagt: To be is to do / Camus sagt: To do is to be / Sinatra singt: Do be do be do
      1. problematische Seite

        Hallo bugfix,

        habe oben noch ein Update posten müssen. Meine Beherrschung des Thema Logik war leider nicht - wie erhofft - 10.

        Ob dein HTML auf 5/10 ist? Ok, mag sein. Das kannst du schnell auf 6 bringen wenn Du die Divitis ablegst. Wrapper-Divs im Body sind typischerweise erforderlich, schon gar nicht zwei, du kannst genauso gut den Body stylen.

        <body>
          <div id="innerbody">
            <div class="wrapper">
              <form>
                ...
              </form>
            </div>
          </div>
        </body>
        

        Bad, weil:

        • #innerbody wird überhaupt nicht gestyled und ist damit eine unnötige Schicht
        • .wrapper wird mit margin:em auto; gestyled. Aber warum jetzt eine Class, keine ID, das ist inkonsequent.
        <head>
        <style>
        body {
           margin: 2em auto;
           max-width: 50em;
        }
        </style>
        </head>
        <body>
          <form>
            ...
          </form>
        </body>
        

        funktioniert prima. Das max-width macht die Sache auf großen Bildschirmen deutlich gefälliger.

        Hast Du die Seite schon auf einem Smartphone getestet?

        Rolf

        --
        sumpsi - posui - obstruxi
        1. problematische Seite

          Moin Rolf,

          Hallo bugfix,

          habe oben noch ein Update posten müssen. Meine Beherrschung des Thema Logik war leider nicht - wie erhofft - 10.

          hab ich gesehen, super (froi 😀) um einen 10er Durchschnitt zu erreichen muss man nicht ständig die volle Punktzahl abliefern, im echten Leben wird gerundet und das auch gern mal großzügig.

          Ob dein HTML auf 5/10 ist? Ok, mag sein. Das kannst du schnell auf 6 bringen wenn Du die Divitis ablegst. Wrapper-Divs im Body sind typischerweise erforderlich, schon gar nicht zwei, du kannst genauso gut den Body stylen.

          <body>
            <div id="innerbody">
              <div class="wrapper">
                <form>
                  ...
                </form>
              </div>
            </div>
          </body>
          

          Bad, weil:

          • #innerbody wird überhaupt nicht gestyled und ist damit eine unnötige Schicht
          • .wrapper wird mit margin:em auto; gestyled. Aber warum jetzt eine Class, keine ID, das ist inkonsequent.

          class->id lässt sich ändern, #innerbody hätte ich noch raus schmeißen müssen hab normaler weise ein externes css eingebunden für innerbody und den ganzen Rest den ich gelöscht habe... wollte nicht alles so vollgefrachtet lassen

          <head>
          <style>
          body {
             margin: 2em auto;
             max-width: 50em;
          }
          </style>
          </head>
          <body>
            <form>
              ...
            </form>
          </body>
          

          funktioniert prima. Das max-width macht die Sache auf großen Bildschirmen deutlich gefälliger.

          Hast Du die Seite schon auf einem Smartphone getestet?

          Jawoll 😀 das Gesamtkonstrukt hat bisher keinen Schluckauf gegeben...

          Danke schon mal im Voraus & auf Wiederlesen!

          der torsten

          --
          ------- Shakespeare sagt: To be or not to be / Sartre sagt: To be is to do / Camus sagt: To do is to be / Sinatra singt: Do be do be do
    2. problematische Seite

      Dass dein "Captcha" von einen ernstgemeinten Angriff mit einem Schulterzucken überrollt wird, ist Dir ohnehin klar?

      Naja. Es ist wirklich sehr einfach, weil die Aufgabe im Klartext drin steht. Und richtig ist, dass Personen, die Screenreader benutzen, ausgeschlossen sind.

      Nicht ganz so einfach (aber immer noch leicht zu knacken, dafür aber zugänglich, mehrsprachig und nett gekapselt: * Ich hoffe, die lib für das „ftxCaptcha„ gefällt.

      1. problematische Seite

        Moin Raketenwissenschaftler,

        Nicht ganz so einfach (aber immer noch leicht zu knacken, dafür aber zugänglich, mehrsprachig und nett gekapselt: * Ich hoffe, die lib für das „ftxCaptcha„ gefällt.

        Etwas weiter oben habe ich meine Kenntnisse bzgl. html&co dargestellt. Ich bin immer stolz wie Oscar wenn irgendwas (halb oder ganz) funktioniert aber dein Beispiel überfordert mich a.g. mangelnder Kenntnisse. Nun werde ich nicht so leicht mutlos, aber das Beispiel hilft mir nur wenn ich mir irgendwo den Quelltext einer Beispielseite anschauen kann, in die das ganze eingebunden ist. Hast du mal einen Link zur Hand?

        Danke schon mal im Voraus & auf Wiederlesen!

        der torsten

        --
        ------- Shakespeare sagt: To be or not to be / Sartre sagt: To be is to do / Camus sagt: To do is to be / Sinatra singt: Do be do be do
        1. problematische Seite

          Etwas weiter oben habe ich meine Kenntnisse bzgl. html&co dargestellt.

          Nachdenken, durchbeißen, an einfachen Beispielen probieren.

          nur wenn ich mir irgendwo den Quelltext einer Beispielseite anschauen kann, in die das ganze eingebunden ist.

          Das würde Dir nicht viel nützen, weil Du dann den Output siehst, nicht aber den Quelltext. Ich poste die Verwendung mal:

          Reines Captcha-Forumlar erzeugen:

          <?php
          require_once 'ftxCaptcha.php';
          $captcha = new ftxCaptcha('de');
          $captcha -> getForm( 'POST' ); Baut das Formular mit method=POST;
          ?>
          

          Gesendete Captcha- Daten auswerten:

          <?php 
          require_once 'ftxCaptcha.php';
          $captcha = new ftxCaptcha();
          if( 
                 isset( $_POST['ftxAnswer'] ) 
             and isset( $_POST['ftxAnswer'] )
             and ( $captcha -> validateAnswer( $_POST['ftxAnswer'], $_POST['hash'] )
          ) {
             echo '<p>Captcha gelöst</p>';
          } else {
             $captcha -> getForm( 'POST' );
          }
          

          In der vorliegenden Form wird das Formular so gebaut, dass die Daten an das PHP-Skript selbst gehen. Ist das Captcha nicht "stand alone", dann musst Du das Formular selbst bauen und dafür sorgen, dass die Daten zwar nicht gesendet werden, aber wieder im Formular erscheinen.

          ___PHP0___
          <form method="post">
            <label class="ftxCaptcha">Ihr Name:
               <input class="ftxCaptcha" name="name" value="<?=htmlentities( $name, ENT_COMPAT )">
            </label>
          
            <label class="ftxCaptcha">Ihre Nachricht:
               <textarea name="message">___PHP1___</textarea>
            </label>
            ___PHP2___;
            <button>senden</button>
          </form>
          ___PHP3___
          

          Das hab ich hier live geschrieben. Wahrscheinlich sind kleine Fehler drin. Die zu finden hilft beim Lernen.

          1. problematische Seite

            Moin Raketenwissenschaftler,

            Etwas weiter oben habe ich meine Kenntnisse bzgl. html&co dargestellt.

            Nachdenken, durchbeißen, an einfachen Beispielen probieren.

            Wie bei allen Dingen im Leben muss ich eine Kosten-Nutzen Aufstellung machen und alles mit dem Spaßfaktor beaufschlagen. Ich müsste sehr viel Zeit investieren um das zu verstehen und korrekt umzusetzen. Das kann ich mir leider nicht erlauben. Nicht, dass ich's nicht mal eben versucht hätte, auch mit Orientierung an dem existierenden PHP Formular... ich brauch halt, wie die große Hälfte[1] der Privatbastler, was für Dummies um dieses Eine PHP, dass benötigen werde einzubinden.

            Trotzdem vielen Dank für den Ansatz und die Mühe!

            Danke schon mal im Voraus & auf Wiederlesen!

            der torsten

            --
            ------- Shakespeare sagt: To be or not to be / Sartre sagt: To be is to do / Camus sagt: To do is to be / Sinatra singt: Do be do be do

            1. Mein Mathe-Lehrer sagte immer "Hälften sind gleich groß, aber die größere Hälfte von euch versteht das sowieso nicht!") ↩︎

            1. problematische Seite

              Moin,

              Wie bei allen Dingen im Leben muss ich eine Kosten-Nutzen Aufstellung machen und alles mit dem Spaßfaktor beaufschlagen.

              gerade der Spaßfaktor bringt das Endergebnis der Abschätzung doch weit weg von der rein rationalen Betrachtung.

              Mein Mathe-Lehrer sagte immer "Hälften sind gleich groß, aber die größere Hälfte von euch versteht das sowieso nicht!")

              Mathelehrer: "Die Klassenarbeit war ein Fiasko! 80% von euch haben 'ne Vier oder schlechter!"
              Schüler: "Aber ... aber so viele sind wir doch gar nicht."

              So, und nun nehmen wir einen Apfel und schneiden ihn in drei Hälften. ;-)

              Live long and pros healthy,
               Martin

              --
              Ich stamme aus Ironien, einem Land am sarkastischen Ozean.
              1. problematische Seite

                @@Der Martin

                Mein Mathe-Lehrer sagte immer "Hälften sind gleich groß, aber die größere Hälfte von euch versteht das sowieso nicht!")

                Mathelehrer: "Die Klassenarbeit war ein Fiasko! 80% von euch haben 'ne Vier oder schlechter!"
                Schüler: "Aber ... aber so viele sind wir doch gar nicht."

                Ein Lehrer von mir erzählte folgende Anekdote, die ihm wohl wirklich widerfahren ist:

                Es wird in der Öffentlichkeit (in der Bahn? jedenfalls so, dass andere mithören konnten) von jemandem angesprochen: „Ihnen kenn ich doch! Bei Sie hat ich doch Deutsch gehabt!“

                LLAP 🖖

                --
                Vielen Eltern dämmert beim Home-Schooling so langsam die Erkenntnis: Lehrer ist wohl doch ein regelrechter Beruf! (@heuteshow)
              2. problematische Seite

                Moin Der Martin,

                Wie bei allen Dingen im Leben muss ich eine Kosten-Nutzen Aufstellung machen und alles mit dem Spaßfaktor beaufschlagen.

                gerade der Spaßfaktor bringt das Endergebnis der Abschätzung doch weit weg von der rein rationalen Betrachtung.

                Manchmal kann man den Multiplikator Null natürlich ignorieren, vielleicht hab ich ja bald mehr Zeit als mir lieb ist 😟 wenns um Prioritäten geht schauts aber folgendermaßen aus:

                • Job / Familie
                • Liegenschaft
                • Hobby 1
                • Hobby 2
                • Hobby 3
                • Hobby Homepage
                • Hobby 4
                • Hobby 5
                • Hobby 6

                Aber auch das ist nicht in Stein gemeißelt.

                Danke schon mal im Voraus & auf Wiederlesen!

                der torsten

                --
                ------- Shakespeare sagt: To be or not to be / Sartre sagt: To be is to do / Camus sagt: To do is to be / Sinatra singt: Do be do be do
            2. problematische Seite

              Hallo,

              Mein Mathe-Lehrer sagte immer "Hälften sind gleich groß, aber die größere Hälfte von euch versteht das sowieso nicht!")

              Mathelehrer können so rigoros motivierend sein…

              Gruß
              Kalk

            3. problematische Seite

              Ich müsste sehr viel Zeit investieren um das zu verstehen und korrekt umzusetzen.

              Ich bin extrem faul und ich stehe dazu, denn:

              • Tatsächlich ist es vor allem die Faulheit, die uns Menschen von Tieren unterscheidet!
              • Ohne Faulheit hätten wir den Antrieb nicht, dass Wissen zu erwerben, welches es uns erlaubt, so schön im geheizten Zimmer abzuhängen und zu überlegen, wie man mit noch weniger Aufwand noch mehr abhängen könnte) während Maschinen (oder Bürger anderer, sonst schön warmer Länder) die Arbeit machen.

              Also: Sich einmal durchbeißen spart eigene Zeit und Energie. Nach jeder Wiederholung noch mehr.

          2. problematische Seite

            Zum einen habe ich beim "blind schreiben" zwei Klammern vergessen, zum anderen hat der Quelltexthighlighter des Forum irgendwie meinen Quelltext "verhunzt" ( ___PHP0___, ___PHP2___; hab ich nicht getippt...).

            Was jetzt unten steht ist also getestet.

            Erstes Snippet. Das Captcha "standalone":

            <?php 
            require_once 'ftxCaptcha.php';
            $captcha = new ftxCaptcha();
            if( 
                   isset( $_POST['ftxAnswer'] ) 
               and isset( $_POST['ftxAnswer'] )
               and ( $captcha -> validateAnswer( $_POST['ftxAnswer'], $_POST['hash'] ) )
            ) {
              echo '<p>Fein! Du hast das Captcha gelöst.</p>';
            } else {
              echo '<p>Löse das Captcha!</p>';
              $captcha -> getForm( 'POST' );
            }
            

            Zweites Snippet: Das Captcha in ein Formular einbauen:

            <?php
            
            require_once 'ftxCaptcha.php';
            $captcha = new ftxCaptcha();
            
            if( 
                  isset( $_POST['ftxAnswer'] ) 
              and isset( $_POST['ftxAnswer'] )
              and ( $captcha -> validateAnswer( $_POST['ftxAnswer'], $_POST['hash'] ) )
            ) {
            
                 ######################################
                 # Hier Nachricht senden, bestätigen: #
                 ######################################
                 header('Location: danke.html');
            
            } else {
            
              if( isset($_POST['name'] ) ) {
                 $name = $_POST['name'];
              } else {
                 $name = ''; 
              }
            
              if( isset( $_POST['name'] ) ) {
                 $message = $_POST['message'];
              } else {
                $message = ''; 
              }
            ?><form method="post">
              <label>Ihr Name:
                 <input name="name" value="<?=htmlentities( $name, ENT_COMPAT | ENT_HTML5 ); ?>">
              </label>
            
              <label>Ihre Nachricht:
                 <textarea name="message"><?=htmlentities( $message, ENT_NOQUOTES | ENT_HTML5 );?></textarea>
              </label>
              <?php $captcha -> getForm( false ); ?>;
              <button>senden</button>
            </form>
            <?php 
            }
            ?>
            

            Nicht vergessen in der ftxCaptcha.php in Zeile 3 das Geheimnis auzutauschen. So lange dort das Original steht wird das Skript abbrechen.

            Kritik

            • Es gibt maximal 300 (10² * 3 ) verschiedene Aufgaben, die sich aber bei näherer Betrachtung als 2 * 10² / 2 (Bei Addition und Subtraktion ist die Reihenfolge egal) + 10², also 200 verschiedene Aufgaben erweisen.
            • Als Ergebnis kommen nicht viele Zahlen in Betracht, die Zahlen zwischen 2 und 8 mit signifikant erhöhter Wahrscheinlichkeit, bis 20 mit erhöhter Wahrscheinlichkeit, über 20 nur bei Mulitplikation.
            • Ein „Brut-Force-Attacke“ würde ich einfach damit probieren, stur entweder die 4,6,8 oder die 9 wiederholt zu senden.
            • Dem könnte man begegnen, in dem man den Zahlenraum (bei mir 1 bis 10) vergrößert. Allerdings wird das wieder nutzerunfreundlich, denn etwas wie „14*233=“ löst längst nicht jeder im Kopf.
            • Andererseits könnte ein Angreifer auch den String mit der Aufgabe parsen. Mir erscheint das als „unglaublich einfach“ - aber aus genau diesem Grund kann ich mein Geld auch anders verdienen.

            Hint:

            Im Übrigen setze ich beim Kontaktformular eher auf einen Spamfilter. Der meine funktioniert seit anderthalb Jahrzehnten recht ordentlich, es kommt inzwischen vielleicht ein oder zwei mal im Jahr was durch:

            • Um so mehr ärgere ich mich dann 👿.
            1. problematische Seite

              Hallo,

              Was jetzt unten steht ist also getestet.

              das will ich nicht in Frage stellen. Aber ...

              if( 
                     isset( $_POST['ftxAnswer'] ) 
                 and isset( $_POST['ftxAnswer'] )
                 and ( $captcha -> validateAnswer( $_POST['ftxAnswer'], $_POST['hash'] ) )
              )
              

              ... warum prüfst du die Existenz von $_POST['ftxAnswer'] hier zweimal?
              Und im zweiten Snippet auch:

              if( 
                    isset( $_POST['ftxAnswer'] ) 
                and isset( $_POST['ftxAnswer'] )
                and ( $captcha -> validateAnswer( $_POST['ftxAnswer'], $_POST['hash'] ) )
              )
              

              Live long and pros healthy,
               Martin

              --
              Ich stamme aus Ironien, einem Land am sarkastischen Ozean.
              1. problematische Seite

                Mist. Hab ich übersehen. Da ich $_POST['ftxAnswer'] und $_POST['ftxHash'] brauche [s|w]ollte ich natürlich auf die Existenz und die Übereinstimmung dieser beiden prüfen.

                if( 
                      isset( $_POST['ftxAnswer'] ) 
                  and isset( $_POST['ftxHash'] )
                  and ( $captcha -> validateAnswer( $_POST['ftxHash'], $_POST['hash'] ) )
                )
                

                Hier exemplarisch(sic!) und für das Forum manuell eingerückt ein durch das Skript erzeugtes Formular:

                <form class='ftxCaptcha' method='POST'>
                  <input type='hidden' name='ftxHash' value='e818043287b721a1b349a6342b8ec07d'>
                  <label class='ftxCaptcha'>one plus three
                    <input type='text'
                class='ftxCaptcha'
                required pattern='[0-9]+'
                title='0..9'
                name='ftxAnswer' />
                  </label>
                  <button class='ftxCaptcha'>solve</button>
                </form>
                
                1. problematische Seite

                  Hallo Raketeninstandhaltungsmechaniker,

                  Mist. Hab ich übersehen. Da ich $_POST['ftxAnswer'] und $_POST['ftxHash'] brauche [s|w]ollte ich natürlich auf die Existenz und die Übereinstimmung dieser beiden prüfen.

                  if( 
                        isset( $_POST['ftxAnswer'] ) 
                    and isset( $_POST['ftxHash'] )
                    and ( $captcha -> validateAnswer( $_POST['ftxHash'], $_POST['hash'] ) )
                  )
                  

                  Ich setze da immer noch ein isset( $_POST ) davor. Ist das sinnvoll?

                  Bis demnächst
                  Matthias

                  --
                  Du kannst das Projekt SELFHTML unterstützen,
                  indem du bei Amazon-Einkäufen Amazon smile (Was ist das?) nutzt.
                  1. problematische Seite

                    Ich setze da immer noch ein isset( $_POST ) davor. Ist das sinnvoll?

                    Nicht wirklich. Denn $_POST wird von PHP immer als (leerer) Array angelegt:

                    
                    > echo '<?PHP if( isset( $_POST) ) echo "Tach: Post\n";' | php
                    
                    Tach: Post
                    
                2. problematische Seite

                  Moin Raketeninstandhaltungsmechaniker,

                  Hier exemplarisch(sic!) und für das Forum manuell eingerückt ein durch das Skript erzeugtes Formular:

                  <form class='ftxCaptcha' method='POST'>
                    <input type='hidden' name='ftxHash' value='e818043287b721a1b349a6342b8ec07d'>
                    <label class='ftxCaptcha'>one plus three
                      <input type='text'
                  class='ftxCaptcha'
                  required pattern='[0-9]+'
                  title='0..9'
                  name='ftxAnswer' />
                    </label>
                    <button class='ftxCaptcha'>solve</button>
                  </form>
                  

                  hab anderthalb versuche benötigt rauszufinden, dass das ftxCaptcha.php als eigenständige Datei im gleichen Verzeichniss liegen muss, wollte alles in eins basteln... so viel zum Thema Kenntniss aber:

                  die "0..9" vom title='0..9' wird als sichtbare Zeichenkette ausgegeben in geradezu winziger Schrift hinder dem Eingabbefeld, aber sichtbar... soll das so?

                  und überhaupt... wo schickt das Formular das überhaupt hin? ich hab nirgens enddeckt eine mailadresse einsetzen zu können ×grübel×

                  die Abfrage einer Absendermail... hm vielleicht nach diesem Muster:

                  <label>Ihre E-Mail:
                       <input name="email" value="<?=htmlentities( $email, TRALALALALA | ENT_HTML5 ); ?>">
                  </label>
                  

                  wobei TRALALALALA mit hoher Warscheinlichkeit nicht ganz korrekt sein dürfte?

                  😟

                  Danke schon mal im Voraus & auf Wiederlesen!

                  der torsten

                  --
                  ------- Shakespeare sagt: To be or not to be / Sartre sagt: To be is to do / Camus sagt: To do is to be / Sinatra singt: Do be do be do
                  1. problematische Seite

                    Hallo,

                    und überhaupt... wo schickt das Formular das überhaupt hin?

                    da das action-Attribut fehlt: An "sich selbst".

                    ich hab nirgens enddeckt eine mailadresse einsetzen zu können ×grübel×

                    Wie kommst du auf Mailadresse? Formulare lösen beim Absenden einen HTTP-Request aus, der üblicherweise ein Script aufruft, das die Formulardaten verarbeitet.

                    die Abfrage einer Absendermail... hm vielleicht nach diesem Muster:

                    <label>Ihre E-Mail:
                         <input name="email" value="<?=htmlentities( $email, TRALALALALA | ENT_HTML5 ); ?>">
                    </label>
                    

                    wobei TRALALALALA mit hoher Warscheinlichkeit nicht ganz korrekt sein dürfte?

                    Ich habe keinen Schimmer, was du da erreichen willst. Aber htmlentities() fühlt sich falsch an. Eventuell willst du htmlspecialchars() stattdessen verwenden.
                    Trotzdem: Was hast du da eigentlich vor?

                    Live long and pros healthy,
                     Martin

                    --
                    Ich stamme aus Ironien, einem Land am sarkastischen Ozean.
                    1. problematische Seite

                      Moin Der,

                      Hallo,

                      und überhaupt... wo schickt das Formular das überhaupt hin?

                      da das action-Attribut fehlt: An "sich selbst".

                      seltsam, das sowas geht...

                      ich hab nirgens enddeckt eine mailadresse einsetzen zu können ×grübel×

                      Wie kommst du auf Mailadresse? Formulare lösen beim Absenden einen HTTP-Request aus, der üblicherweise ein Script aufruft, das die Formulardaten verarbeitet.

                      wie man das auch immer formulieren mag, Sinn des Ganzen sollte doch das transportieren von Inalt sein, oder?

                      Ich habe keinen Schimmer, was du da erreichen willst. Aber htmlentities() fühlt sich falsch an. Eventuell willst du htmlspecialchars() stattdessen verwenden.
                      Trotzdem: Was hast du da eigentlich vor?

                      Das trau ich mir nicht öffentlich preiszugeben, sonst bekomme ich nie wieder von irgendwem Hilfe. Wenn ich auch nur den Ansatz von Ahnung hätte würde ich auch keine dummen, sondern eher gezielte Fragen stellen. Ich kann dir das also nicht beantworten...

                      Danke schon mal im Voraus & auf Wiederlesen!

                      der torsten

                      --
                      ------- Shakespeare sagt: To be or not to be / Sartre sagt: To be is to do / Camus sagt: To do is to be / Sinatra singt: Do be do be do
                      1. problematische Seite

                        Mahlzeit,

                        und überhaupt... wo schickt das Formular das überhaupt hin?

                        da das action-Attribut fehlt: An "sich selbst".

                        seltsam, das sowas geht...

                        du solltest dich vielleicht mal ein bisschen einlesen, wie Formulare prinzipiell funktionieren.

                        Also du hast eine Webseite mit einem Formular, darin eine Menge Eingabeelemente (Text, Checkboxen, Radiobuttons u.ä.). Jedes dieser "Form Controls" hat einen Namen (über das name-Attribut) und einen zugeordneten Wert (eine Vorbelegung wird mit dem value-Attribut gemacht).

                        Beim Absenden des Formulars wird nun der aktuelle Wert aller Eingabefelder ausgelesen und als String der Gestalt name1=value1&name2=value2... an die Adresse geschickt, die im action-Attribut des form-Elements genannt ist. Das ist in der Regel ein Script (z.B. in PHP), das die Formulardaten entgegennimmt und irgendwas damit anstellt.
                        Fehlt das action-Attribut, gilt ersatzweise die Adresse, von der das Formular geladen wurde. Das meinte ich mit "an sich selbst".

                        Wie kommst du auf Mailadresse? Formulare lösen beim Absenden einen HTTP-Request aus, der üblicherweise ein Script aufruft, das die Formulardaten verarbeitet.

                        wie man das auch immer formulieren mag, Sinn des Ganzen sollte doch das transportieren von Inalt sein, oder?

                        Ich hoffe, das konnte ich mit der Ultrakurzfassung oben zumindest ansatzweise deutlich machen.

                        Live long and pros healthy,
                         Martin

                        --
                        Ich stamme aus Ironien, einem Land am sarkastischen Ozean.
                        1. problematische Seite

                          Moin Martin,

                          Ich hoffe, das konnte ich mit der Ultrakurzfassung oben zumindest ansatzweise deutlich machen.

                          danke, ich schau mir das Tutorial an, und deine Kurzfassung ist SUBBA! :)

                          Danke schon mal im Voraus & auf Wiederlesen!

                          der torsten

                          --
                          ------- Shakespeare sagt: To be or not to be / Sartre sagt: To be is to do / Camus sagt: To do is to be / Sinatra singt: Do be do be do
                  2. problematische Seite

                    Es gibt eine Version mit kleinen Bugfixes und einen Test.

                    hab anderthalb versuche benötigt rauszufinden, dass das ftxCaptcha.php als eigenständige Datei im gleichen Verzeichniss liegen muss, wollte alles in eins basteln... so viel zum Thema Kenntniss

                    Das ist jetzt NICHT GUT.

                    Wann immer man Programme / Skripte in Webseiten einbindet sollte man schon selbst wissen, was die tun. Und da sollte man schon darauf achten, was wohl passiert, wenn da plötzlich Dateinamen drin stehen.

                    Sonst kann folgendes drin stehen:

                    <?php
                    if ( isset( $_GET['angriff'] ) ) {
                       echo '<pre>' . file_get_contents('/etc/passwd') .  '<pre>';
                       exit;
                    }
                    

                    die "0..9" vom title='0..9' wird als sichtbare Zeichenkette ausgegeben in geradezu winziger Schrift hinder dem Eingabbefeld, aber sichtbar... soll das so?

                    Nein! - Ich kenne aber Deinen Browser nicht.. Das hat aber mit den Bugfixes nichts zu tun.

                    ich hab nirgens enddeckt eine mailadresse einsetzen zu können ×grübel×

                    Die Version mit

                    <?php
                    
                    require_once 'ftxCaptcha.php';
                    $captcha = new ftxCaptcha();
                    
                    if( 
                          isset( $_POST['ftxAnswer'] ) 
                      and isset( $_POST['ftxHash'] )
                      and ( $captcha -> validateAnswer( $_POST['ftxAnswer'], $_POST['ftxHash'] ) )
                    ) {
                    
                         ######################################
                         # Hier Nachricht senden, bestätigen: #
                         ######################################
                         header('Location: danke.html');
                    
                    } else {
                    
                      if( isset($_POST['name'] ) ) {
                         $name = $_POST['name'];
                      } else {
                         $name = ''; 
                      }
                    
                      if( isset( $_POST['name'] ) ) {
                         $message = $_POST['message'];
                      } else {
                        $message = ''; 
                      }
                    ?><form method="post">
                      <label>Ihr Name:
                         <input name="name" value="<?=htmlentities( $name, ENT_COMPAT | ENT_HTML5 ); ?>">
                      </label>
                    
                      <label>Ihre Nachricht:
                         <textarea name="message"><?=htmlentities( $message, ENT_NOQUOTES | ENT_HTML5 );?></textarea>
                      </label>
                      <?php $captcha -> getForm( false ); ?>;
                      <button>senden</button>
                    </form>
                    <?php 
                    }
                    ?>
                    

                    zeigt Dir, wie Du Dein Formular selbst (self) umbauen solltest, bzw. wie Du das Captcha selbst (self) in Dein Formular einbauen kannst.

                    Das ist die hier übliche Hilfe.

                    1. problematische Seite

                      Es gibt eine Version mit kleinen Bugfixes und einen Test.

                    2. problematische Seite

                      Moin Raketenbürokrat,

                      Es gibt eine Version mit kleinen Bugfixes und einen Test.

                      danke, ich schau mir das gern an, mal schauen ob ich damit was anfangen kann...

                      hab anderthalb versuche benötigt rauszufinden, dass das ftxCaptcha.php als eigenständige Datei im gleichen Verzeichniss liegen muss, wollte alles in eins basteln... so viel zum Thema Kenntniss

                      Das ist jetzt NICHT GUT.

                      Wann immer man Programme / Skripte in Webseiten einbindet sollte man schon selbst wissen, was die tun. Und da sollte man schon darauf achten, was wohl passiert, wenn da plötzlich Dateinamen drin stehen.

                      ich hoffe du verzeihst mein Schmunzeln, natürlich hast du voll und ganz Recht, ABER du hast an anderer Stelle etwas über die Natur des Menscheen geschrieben, über Faulheit, viel wichtiger noch ist die Tatsache, dass viele Menschen freiwillig und kostenlos Scripte aller Art zur Verfügung stellen, glücklicher Weise oft Open Source, genau so häufig aber auch nicht. Für meine bedürfnisse ist die Erfindung der sgn. Lightbox ein Segen, allem voran muss man da Lokesh Dhakar danken, der den Stein ins Rollen brachte. Aber welcher Natur auch immer die verfügbaren Scripte sind, nur ein Bruchteil der Nutzer im einstelligen Bereich (persönliche Schätzung) ist in der Lage derartige Sachen (Lightboxen, JQuery, PHP Tools etc.etc. pp) inhaltlich zu verstehen. Manchmal muss man den Menschen einfach vertrauen...

                      Sonst kann folgendes drin stehen:

                      <?php
                      if ( isset( $_GET['angriff'] ) ) {
                         echo '<pre>' . file_get_contents('/etc/passwd') .  '<pre>';
                         exit;
                      }
                      

                      die "0..9" vom title='0..9' wird als sichtbare Zeichenkette ausgegeben in geradezu winziger Schrift hinder dem Eingabbefeld, aber sichtbar... soll das so?

                      Das ändert nichts daran, dass du Recht hast 😀

                      Nein! - Ich kenne aber Deinen Browser nicht.. Das hat aber mit den Bugfixes nichts zu tun.

                      Firefox

                      zeigt Dir, wie Du Dein Formular selbst (self) umbauen solltest, bzw. wie Du das Captcha selbst (self) in Dein Formular einbauen kannst.

                      Das ist die hier übliche Hilfe.

                      Ich bin für jede Hilfe dankbar! Üblich, unüblich, wie auch immer... Schlaflose Nächte inklusive ×gg×

                      Danke schon mal im Voraus & auf Wiederlesen!

                      der torsten

                      --
                      ------- Shakespeare sagt: To be or not to be / Sartre sagt: To be is to do / Camus sagt: To do is to be / Sinatra singt: Do be do be do
                      1. problematische Seite

                        Ich habe ein Beispiel mit vollständigem Formular gebaut.

                        Die Warnung:

                        Du hast von "email" geschrieben. Es sind schon allerhand „Bockstürze“ erforderlich um Benutzerdaten sicher und korrekt anzuzeigen. Beim Versand per email können sich weitere und ganz andere Probleme ergeben.Bei unsicherer Handhabung (bei Copy&Paste-Skripten ist das eher die Regel als die Ausnahme) kann Dein Kontaktformular zu einer üblen Spamschleuder werden, wovor auch das Captcha nicht wirksam schützt.

                        Ich habe immer wieder solche Neukunden, die sich nach Schechtleistungen Dritter (oder von sich selbst) sehr wundern, warum deren Mails z.B. von Mailservern der Telekom nicht mehr akzeptiert werden (O-Ton: "Bei T-Online-Adressen nicht ankommen").

                        Aus dem Grund ist es besser, wenn sich das jemand anschaut, der weiß was er da tut!

                        1. problematische Seite

                          Moin Raketenbürokrat,

                          Ich habe ein Beispiel mit vollständigem Formular gebaut.

                          auch davon werde ich was lernen :) danke

                          Die Warnung:

                          Du hast von "email" geschrieben. Es sind schon allerhand „Bockstürze“ erforderlich um Benutzerdaten sicher und korrekt anzuzeigen. Beim Versand per email können sich weitere und ganz andere Probleme ergeben.Bei unsicherer Handhabung (bei Copy&Paste-Skripten ist das eher die Regel als die Ausnahme) kann Dein Kontaktformular zu einer üblen Spamschleuder werden, wovor auch das Captcha nicht wirksam schützt.

                          Ich habe immer wieder solche Neukunden, die sich nach Schechtleistungen Dritter (oder von sich selbst) sehr wundern, warum deren Mails z.B. von Mailservern der Telekom nicht mehr akzeptiert werden (O-Ton: "Bei T-Online-Adressen nicht ankommen").

                          Aus dem Grund ist es besser, wenn sich das jemand anschaut, der weiß was er da tut!

                          Wie du schon selbst festgestellt hast, verwende ich eine sehr einfache Vorlage was ich da überblicken kann schaut für mich nicht so aus als würde irgendwas umgeleitet oder sonstwie ver-"bockstürzt"

                          vielen Dank für die Warnung

                          Danke schon mal im Voraus & auf Wiederlesen!

                          der torsten

                          --
                          ------- Shakespeare: To be or not to be / Sartre: To be is to do / Camus: To do is to be / Sinatra: Do be do be do
                          1. problematische Seite

                            Wie du schon selbst festgestellt hast, verwende ich eine sehr einfache Vorlage was ich da überblicken kann schaut für mich nicht so aus als würde irgendwas umgeleitet oder sonstwie ver-"bockstürzt"

                            Schon gehackt: Ich verwende für die DEMO alle "Sicherheitsprüfungen" (Er ) des originalen Autors.

                            <?php
                            
                            # $name = $_POST['name'];
                            # $email = $_POST['email']; 
                            
                            # Simulierte Formulareingaben:
                            $name='Böser Hacker';
                            $email = "foo@example.com>\r\nBCC: Spam Empfänger<bar@example.com";
                            
                            # Die einzige "Prüfung"
                            if (
                            	! $email == '' 
                            	&& (
                            	  ! strstr($email,'@') 
                            	  || !strstr($email,'.')
                            	)
                            ) {
                            	$msg = 'Your email address is not formatted correctly!';
                            }
                            
                            $headers = "From: ".$name." <".$email.">\r\n";
                            echo $headers;
                            

                            Ergebnis:

                            php test.php
                            From: Böser Hacker <foo@example.com>
                            BCC: Spam Empfänger<bar@example.com>
                            

                            Ein Hacker kann also die Nachricht an eine faktisch nicht begrenzte Anzahl weiterer Empfänger senden. Das "captcha" kann er automatisch knacken.

                            Das ist genau wovor ich warnen wollte.

                            1. problematische Seite

                              Übrigens habe ich den Autor der "einfachen Vorlage" schon darum gebeten, den unsicheren Mist zu entfernen. Ebenso habe ich github.com mit diesem Anliegen kontaktiert.

                              Sein Captcha zu lösen ist übrigens noch einfacher. Beide Eingabefelder und das Ergebnis stehen im Klartext im Formular... man braucht nur

                              • captcha: 2
                              • captcha1: 1
                              • captcha2: 1

                              senden.

                              Man kann also einfach etwas wie cUrl hernehmen und "einfach und bequem" vom nächsten Hotel-Wlan mit einem Shellskript tausende von Mails an abertausende Empfänger versenden. Das man da noch Javascript einbauen kann ist fast schon nebensächlich, jedenfalls so lange nicht einer der Empfänger einen Mail-Client oder Webmail-Client hat, der das ausführt.

                              1. problematische Seite

                                Hallo Raketenhacker,

                                Übrigens habe ich den Autor der "einfachen Vorlage" schon darum gebeten, den unsicheren Mist zu entfernen. Ebenso habe ich github.com mit diesem Anliegen kontaktiert.

                                Ich habe einen Issue erstellt, vielleicht reagiert er ja darauf.

                                Gruß
                                Julius

                                1. problematische Seite

                                  @@Julius

                                  Ich habe einen Issue erstellt

                                  Du hast geniest, Eule!

                                  LLAP 🖖

                                  --
                                  Vielen Eltern dämmert beim Home-Schooling so langsam die Erkenntnis: Lehrer ist wohl doch ein regelrechter Beruf! (@heuteshow)
                                  1. problematische Seite

                                    Hallo Gunnar,

                                    Ich habe einen Issue erstellt

                                    Du hast geniest, Eule!

                                    Lmao, jetzt verstehe ich auch diese Anspielungen auf die Aussprache auch endlich mal. Dachte schon an Corona 🙃.

                                    Aber was hat das mit einer Eule zu tun?

                                    Gruß
                                    Julius

                                    1. Dieser Beitrag wurde gelöscht: Der Beitrag ist ein Duplikat eines anderen Beitrags.
                                    2. problematische Seite

                                      @@Julius

                                      Ich habe einen Issue erstellt

                                      Du hast geniest, Eule!

                                      Lmao, jetzt verstehe ich auch diese Anspielungen auf die Aussprache auch endlich mal. Dachte schon an Corona 🙃.

                                      Aber was hat das mit einer Eule zu tun?

                                      Chapter 4: In Which Eeyore Loses a Tail and Pooh Finds One
                                      in: A.A. Milne, Winnie-the-Pooh (London, 1926)

                                      Deutsche Übersetzung von Harry Rowohlt: Pu der Bär
                                      Kapitel 4: In welchem I-Ah einen Schwanz verliert und Pu einen findet

                                      Wobei gerade dieser Sprachwitz mit dem issue in der deutschen Übersetzung (die sehr gelungen ist) zwangsläufig untergeht.

                                      LLAP 🖖

                                      --
                                      Vielen Eltern dämmert beim Home-Schooling so langsam die Erkenntnis: Lehrer ist wohl doch ein regelrechter Beruf! (@heuteshow)
                                      1. problematische Seite

                                        Hallo Gunnar,

                                        Du hast geniest, Eule!

                                        Lmao, jetzt verstehe ich auch diese Anspielungen auf die Aussprache auch endlich mal. Dachte schon an Corona 🙃.

                                        Aber was hat das mit einer Eule zu tun?

                                        Chapter 4: In Which Eeyore Loses a Tail and Pooh Finds One
                                        in: A.A. Milne, Winnie-the-Pooh (London, 1926)

                                        oh, also eine Fremdquelle. Ich kenne zwar Winnie the Pooh als Comicfigur, habe aber nie eines seiner Abenteuer gelesen. Von daher: Kein Wunder, dass ich das auch nicht verstanden habe.

                                        Wobei gerade dieser Sprachwitz mit dem issue in der deutschen Übersetzung (die sehr gelungen ist) zwangsläufig untergeht.

                                        Gezielter Spachwitz bleibt bei der Übersetzung fast immer auf der Strecke. Benjamin Schwarz, der Übersetzer der Hitchhiker-Trilogie in vier Bänden[1] hat sich zwar größte Mühe gegeben und einige Stellen sehr gut rübergebracht, aber einige knuffige Formulierungen von Douglas Adams lassen sich im Deutschen einfach nicht so richtig wiedergeben.

                                        Live long and pros healthy,
                                         Martin

                                        --
                                        Ich stamme aus Ironien, einem Land am sarkastischen Ozean.

                                        1. Manche reden auch von fünf Bänden. ↩︎

                                        1. problematische Seite

                                          @@Der Martin

                                          in: A.A. Milne, Winnie-the-Pooh (London, 1926)

                                          Wow, geht schon auf die 100 zu, das Buch.

                                          habe aber nie eines seiner Abenteuer gelesen.

                                          Buch/Bücher[1] besorgen, nachholen! Ziemlich lustig, stellenweise auch rührend, so mit Pipi in den Augen.

                                          LLAP 🖖

                                          --
                                          Vielen Eltern dämmert beim Home-Schooling so langsam die Erkenntnis: Lehrer ist wohl doch ein regelrechter Beruf! (@heuteshow)

                                          1. Bücher wegen: Fortsetzung The House at Pooh Corner (deutsch: Pu baut ein Haus)
                                            Buch wegen: gibt’s als Gesamtausgabe ↩︎

                                      2. problematische Seite

                                        @@Gunnar Bittersmann

                                        Ich habe einen Issue erstellt

                                        Du hast geniest, Eule!

                                        […]

                                        Wobei gerade dieser Sprachwitz mit dem issue in der deutschen Übersetzung (die sehr gelungen ist) zwangsläufig untergeht.

                                        „Wasss zzzu tun issst, issst folgendes. Zzzuerssst mußßß man eine Belohnung aussssetzzzen. Dann …“
                                        „Augenblick mal“, sagte Pu und hielt eine Pfote in die Luft. „Was müssen wir mit diesem Ding tun, was du gerade gesagt hast? Du hast gerade geniest, als du es mir sagen wolltest.“
                                        „Ich habe
                                        nicht geniessst.“
                                        „Doch, du hast geniest, Eule.“
                                        „Entschuldige, Pu, aber ich habe nicht geniessst. Man kann nicht niesen, ohne esss zu wissssssen.“
                                        „Aber man kann es auch nicht wissen, ohne daß irgendwas geniest worden wäre.“
                                        „Wasss ich sagte, war, daßßß man zzzuerssst eine Belohnung aussssetzzzen mußßß.“
                                        „Jetzt hast du schon wieder geniest“, sagte Pu traurig.

                                        Original:

                                        The thing to do is as follows. First, Issue a Reward. Then—”
                                        “Just a moment,” said Pooh, holding up his paw.
                                        “What do we need to do this – what you were saying? You sneezed just as you were doing to tell me.”
                                        “I
                                        didn’t sneeze.”
                                        “Yes, you did, Owl.”
                                        “Excuse me, Pooh, I didn’t. You can’t sneeze without knowing it.”
                                        “Well, you can’t know it without something having been sneezed.”
                                        “What I
                                        said was, ‘First Issue a Reward’.”
                                        “You’re doing it again,” said Pooh sadly.

                                        LLAP 🖖

                                        --
                                        Vielen Eltern dämmert beim Home-Schooling so langsam die Erkenntnis: Lehrer ist wohl doch ein regelrechter Beruf! (@heuteshow)
                          2. problematische Seite

                            Hallo bugfix,

                            Die Warnung:

                            Du hast von "email" geschrieben. Es sind schon allerhand „Bockstürze“ erforderlich um Benutzerdaten sicher und korrekt anzuzeigen. Beim Versand per email können sich weitere und ganz andere Probleme ergeben.Bei unsicherer Handhabung (bei Copy&Paste-Skripten ist das eher die Regel als die Ausnahme) kann Dein Kontaktformular zu einer üblen Spamschleuder werden, wovor auch das Captcha nicht wirksam schützt.

                            […]

                            Aus dem Grund ist es besser, wenn sich das jemand anschaut, der weiß was er da tut!

                            Wie du schon selbst festgestellt hast, verwende ich eine sehr einfache Vorlage was ich da überblicken kann schaut für mich nicht so aus als würde irgendwas umgeleitet oder sonstwie ver-"bockstürzt"

                            Eben das, was Jörg da oben befürchtet hat, ist in dem Skript nicht vorhanden.

                            • Keine der Eingaben wie E-Mail-Adresse wird bei der Ausgabe im HTML mit htmlspecialchars behandelt ☠️
                            • CSRF wird nicht verhindert ☠️
                            • Benutzereingaben werden unbehandelt in die Header der versendeten E-Mail gepackt. ☠️

                            FINGER WEG VON DIESEM SKRIPT!

                            vielen Dank für die Warnung

                            Dann berücksichtige sie bitte auch!

                            Gruß
                            Julius

                            1. problematische Seite

                              Hallo Julius,

                              FINGER WEG VON DIESEM SKRIPT!

                              Als Alternative empfehle ich Formmailer-Advanced und eine gründliche Einarbeitung in PHP. Oder dass du einfach nur deine E-Mail-Adresse auf die Website stellst, bis du das mit dem Formmailer sicher lösen kannst.

                              Noch mal zur verständlicheren Aufbereitung:

                              • Das fehlende htmlspecialchars führt dazu, dass ein Angreifer beliebiges HTML bzw. JavaScript in deine Seite einfügen kann.
                              • CSRF-Lücken führen dazu, dass andere Seiten Nutzer auf dein Formular leiten können und dann darüber E-Mails verschicken können.
                              • Das fehlende Behandeln der Header-Daten der E-Mail führt dazu, dass man einfach zusätzliche Empfänger hinzufügen kann.

                              Übrigens kann man alle diese Sicherheitslücken auch kombinieren und ganz nette bzw. – aus deiner Sicht – böse Dinge damit anstellen, die du lieber vermeiden willst.

                              Gruß
                              Julius

                              1. problematische Seite

                                Hallo Julius,

                                Als Alternative empfehle ich Formmailer-Advanced und eine gründliche Einarbeitung in PHP.

                                Es ist übrigens im Allgemeinen keine gute Idee, E-Mail-Versand selbst programmieren zu wollen. Dafür gibt es nicht ohne Grund erprobte Bibliotheken wie oben verwendeter SwiftMailer oder PHPMailer. Diese nehmen einem neben dem Sicherheitsgewinn viel Arbeit ab und ermöglichen haufenweise Extra-Funktionen wie Versand von Anhängen.

                                Gruß
                                Julius

                                1. problematische Seite

                                  Hallo Julius,

                                  Schön, wieder von Dir zu Lesen!

                                  Ich hätte dich jetzt gern zum SELF-Treffen vom 05.-07. Juni 2020 eingeladen, weiß aber leider noch gar nicht, ob bis dahin alles wieder normal ist.

                                  Hoffentlich schon!

                                  Herzliche Grüße

                                  Matthias Scharwies

                                  --
                                  25 Jahre SELFHTML → SELF-Treffen 05.-07. Juni 2020 in Mannheim
                                  1. problematische Seite

                                    Ich hätte dich jetzt gern zum SELF-Treffen vom 05.-07. Juni 2020 eingeladen, weiß aber leider noch gar nicht, ob bis dahin alles wieder normal ist.

                                    Ich mutmaße: Das ist es nicht. Entweder geht die Durchseuchung sehr schnell (dann gäbe es aber mit an Sicherheit grenzender Wahrscheinlichkeit abertausende Todesopfer) oder nicht. Im letzteren Fall werden die Maßnahmen zur Verringerung der Durchseuchungsgeschwindigkeit anhalten bis die „Herde“ nicht durch die Erkrankung sondern Impfungen im, für die Niederhaltung der Pandemie erforderlichen Maße immun ist.

                                    Wer ein Held sein will muss seinen Arsch also nur ein paar Tage daheim lassen. Das ist gegenwärtig die Heldentat.

                                  2. problematische Seite

                                    Hallo Matthias,

                                    Schön, wieder von Dir zu Lesen!

                                    Danke :-). Ich war eine Zeitlang anderweitig beschäftigt, aktuell ist es aber Corona-bedingt etwas ruhiger.

                                    Ich hätte dich jetzt gern zum SELF-Treffen vom 05.-07. Juni 2020 eingeladen, weiß aber leider noch gar nicht, ob bis dahin alles wieder normal ist.

                                    Hoffentlich schon!

                                    Ich hoffe es auch, nur bin ich aufgrund der Faktenlage (ich kann das Corona-Update des NDR nur empfehlen, das ist aber sicherlich bekannt) durchaus skeptisch, ob sich das dieses Jahr noch beruhigen wird.

                                    Gruß
                                    Julius

                                    1. problematische Seite

                                      Hallo,

                                      Ich hoffe es auch, nur bin ich aufgrund der Faktenlage (ich kann das Corona-Update des NDR nur empfehlen, das ist aber sicherlich bekannt) durchaus skeptisch, ob sich das dieses Jahr noch beruhigen wird.

                                      ich bin etwas optimistischer. In China, wo die Epidemie ihren Ursprung hatte, gab es zwar nach Angaben der JHU etwas mehr als 80k registrierte Infektionsfälle, aber wenn man die Provinzen aufsummiert, auch rund 70k "recovered". Die sind also jetzt schon ganz klar über den Berg.

                                      Wenn das in China in zwei Monaten über die Bühne ging, kann ich mir vorstellen, dass das bei uns ähnlich schnell geht, vielleicht sogar schneller, weil wir vorgewarnt und bis zu einem gewissen Grad vorbereitet waren. China hat es dagegen unverhofft und völlig überraschend getroffen.

                                      Es gibt noch ein positives Indiz: Die Graphik rechts unten auf der verlinkten Seite zeigt in den letzten Tagen eine Stagnation ... nein, aber eine deutliche Verlangsamung des Anstiegs der neu gemeldeten Fälle außerhalb "Mainland China". Ob das nur der verzögernden Meldekette geschuldet ist? Warten wir's ab.

                                      Beunruhigend jedoch: Allein in Italien gab es bis jetzt schon mehr Todesfälle als in China (wenn man den Statistiken gleuben mag).

                                      Live long and pros healthy,
                                       Martin

                                      --
                                      Ich stamme aus Ironien, einem Land am sarkastischen Ozean.
                                2. problematische Seite

                                  Moin Julius,

                                  @alle

                                  Als Alternative empfehle ich Formmailer-Advanced und eine gründliche Einarbeitung in PHP.

                                  Es ist übrigens im Allgemeinen keine gute Idee, E-Mail-Versand selbst programmieren zu wollen. Dafür gibt es nicht ohne Grund erprobte Bibliotheken wie oben verwendeter SwiftMailer oder PHPMailer. Diese nehmen einem neben dem Sicherheitsgewinn viel Arbeit ab und ermöglichen haufenweise Extra-Funktionen wie Versand von Anhängen.

                                  danke für die Hinweise, ich werde mir das ganze anschauen, mal sehen ob ich das script durch etwas ordentliches ersetzt bekomme, eigentlich wollte ich nicht unbedingt die kuh kaufen wenn ich nur einen liter milch brauch... vielleicht pack ich einfach einen mailto link rein...

                                  Danke schon mal im Voraus & auf Wiederlesen!

                                  der torsten

                                  --
                                  ------- Shakespeare: To be or not to be / Sartre: To be is to do / Camus: To do is to be / Sinatra: Do be do be do
                              2. problematische Seite

                                Hallo Julius, @bugfix

                                Als Alternative empfehle ich Formmailer-Advanced und eine gründliche Einarbeitung in PHP.

                                Ich habe den Artikel zum Formmailer stark überarbeitet, der hatte das dringend nötig, dringender als ich auf den ersten Blick am Sonntag erkannte als ich ihn dir empfahl. Vielleicht ist er ja dir dadurch nützlicher geworden.

                                Effektiv müsstest du nur das enthaltene HTML-Formular an deine Zwecke anpassen und in den Konfigurationsbereich deine SMTP-Zugangsdaten, die du von deinem E-Mail-Provider erhalten haben dürftest, eintragen.

                                Ich war doch recht erheitert, dass ich den Artikel sogar schon vor drei Jahren mit ziemlich den gleichen Kritikpunkten, wie sie mir Sonntag sofort (wieder) aufgefallen sind, auf meine ToDo-Liste geschrieben hatte 😂.

                                Gruß
                                Julius

                                P.S.: Falls es jemandem auffallen sollte: Ja, ich habe keinen CSRF-Schutz eingebaut, den ich zuvor aber als fehlend bemängelt habe, denn im Falle des Formmailers gibt es keine angemeldeten Nutzer, deren Berechtigungen / Identität man mittels CSRF-Lücken ausnutzen könnte. Daher ist es meines Erachtens nicht sinnvoll, hier einen Schutz einzubauen.

                                1. problematische Seite

                                  Servus!

                                  Ich habe den Artikel zum Formmailer stark überarbeitet, der hatte das dringend nötig, …

                                  @Julius hat nicht nur diesen Artikel überarbeitet, sondern gleich zwei neue veröffentlicht (PHP/Tutorials/Abhängigkeiten mit Composer verwalten, Automatische Erzeugung einer Sitemap) und weitere ergänzt!

                                  Vielen Dank!

                                  Herzliche Grüße

                                  Matthias Scharwies

                                  --
                                  25 Jahre SELFHTML → SELF-Treffen 05.-07. Juni 2020 in Mannheim
                                2. problematische Seite

                                  denn im Falle des Formmailers gibt es keine angemeldeten Nutzer, deren Berechtigungen / Identität man mittels CSRF-Lücken ausnutzen könnte.

                                  Da wäre ich ganz vorsichtig.

                                  1. problematische Seite

                                    denn im Falle des Formmailers gibt es keine angemeldeten Nutzer, deren Berechtigungen / Identität man mittels CSRF-Lücken ausnutzen könnte.

                                    Da wäre ich ganz vorsichtig.

                                    Denn längst nicht alles, was nicht vordergründig wie ein Mailformular aussieht, ist auch keines,

                                    1. problematische Seite

                                      Hallo Raketenporzellankistengroßmutter,

                                      denn im Falle des Formmailers gibt es keine angemeldeten Nutzer, deren Berechtigungen / Identität man mittels CSRF-Lücken ausnutzen könnte.

                                      Da wäre ich ganz vorsichtig.

                                      Denn längst nicht alles, was nicht vordergründig wie ein Mailformular aussieht, ist auch keines,

                                      Du meinst, dass der Formmailer vielleicht als Grundlage für etwas anderes benutzt wird (das dann halt auch E-Mails verschickt), für das man dann doch CSRF verhindern wollen würde?

                                      Gruß
                                      Julius

                                      1. problematische Seite

                                        Du meinst, dass der Formmailer vielleicht als Grundlage für etwas anderes benutzt wird (das dann halt auch E-Mails verschickt), für das man dann doch CSRF verhindern wollen würde?

                                        Ja. z.B. kann man mit Exchange/Outlook auch Ressourcen (Konferenzräume, Leihgeräte) verwalten. Das geht im Prinzip durch ein Email mit einem Terminwunsch im Anhang. Und längst nicht immer (ist ja alles Windows-Zeug) haben diese Server aus dem Internet erreichbare Adressen…

                                        Anderes Stichwort: Ticketsysteme und Homeoffice…

                                        1. problematische Seite

                                          Hallo Raketenporzellankistengroßmutter,

                                          Du meinst, dass der Formmailer vielleicht als Grundlage für etwas anderes benutzt wird (das dann halt auch E-Mails verschickt), für das man dann doch CSRF verhindern wollen würde?

                                          Ja. z.B. kann man mit Exchange/Outlook auch Ressourcen (Konferenzräume, Leihgeräte) verwalten. Das geht im Prinzip durch ein Email mit einem Terminwunsch im Anhang. Und längst nicht immer (ist ja alles Windows-Zeug) haben diese Server aus dem Internet erreichbare Adressen…

                                          Ah, das war es. Jetzt hat es Klick gemacht, das war der Fehler meiner Grundannahme. Nicht die Cookies sind die Berechtigung des Nutzers, die ausgenutzt wird, sondern sein Zugriff auf nicht aus dem Internet erreichbare Dienste. Da gehört tatsächlich ein Hinweis in den Artikel.

                                          Gruß
                                          Julius

                                          1. problematische Seite

                                            Und längst nicht immer (ist ja alles Windows-Zeug) haben diese Server aus dem Internet erreichbare Adressen…

                                            Ich meinte mit „Adressen“ vor allem Mailadressen. Ich mach hier manchmal „recht kompliziert anmutendes Zeug“ um z.B. Daten von einem Webserver via SSH auf eigentlich nicht direkt erreichbare Server in meinem Netz zu pushen (und visa versa).

                                  2. problematische Seite

                                    Hallo Raketenporzellankistengroßmutter,

                                    denn im Falle des Formmailers gibt es keine angemeldeten Nutzer, deren Berechtigungen / Identität man mittels CSRF-Lücken ausnutzen könnte.

                                    Da wäre ich ganz vorsichtig.

                                    Du spielst darauf an, dass ein Nutzer das eventuell hinter einem Cookie-basierten Authentisierungs-System verbergen möchte? Ich denke, dann sollte ich vielleicht doch endlich einen kurzen Artikel über CSRF schreiben und den dort verlinken.

                                    Falls man das Formular allerdings als Kontaktformular (ist vielleicht eingängiger als Formmailer und damit besser auffindbar, wie siehst du das @Matthias Scharwies?) benutzt wird und ein Angreifer es missbrauchen möchte, dann kann er die Daten direkt per POST dahin versenden oder müsste sich halt vorher einen CSRF-Token aus dem Formular fummeln. Ein Request mehr...

                                    Gruß
                                    Julius

                                    1. problematische Seite

                                      Hallo Julius, @Matthias Scharwies

                                      Falls man das Formular allerdings als Kontaktformular (ist vielleicht eingängiger als Formmailer und damit besser auffindbar, wie siehst du das @Matthias Scharwies?)

                                      Ich habe in dem Artikel mal das Wort „Kontaktformular“ einbaut und bei der Gelegenheit auch gleich die Sache mit der Pflicht zur zusätzlichen Angabe einer E-Mail-Adresse angefrühstückt (das war übrigens auch einer der Punkte, der seit 3 Jahren auf meiner Liste stand 🙄), die kam in diesem Thread ja auch auf.

                                      Zusätzlich habe ich eine Weiterleitung eingerichtet, damit das in der Wiki-Suche als Vorschlag auftaucht.

                                      Gruß
                                      Julius

                                      1. problematische Seite

                                        Moin Julius,

                                        Ich habe in dem Artikel mal das Wort „Kontaktformular“ einbaut und bei der Gelegenheit auch gleich die Sache mit der Pflicht zur zusätzlichen Angabe einer E-Mail-Adresse angefrühstückt (das war übrigens auch einer der Punkte, der seit 3 Jahren auf meiner Liste stand 🙄), die kam in diesem Thread ja auch auf.

                                        wie bereits alle beteiligten feststellen konnten hab ich null Ahnung von sehr vielen Dingen, aber die Verlinkung der der Recht24.de seite mit dem Hinweis man solle "aus rechtlichen Gründen – immer auch die E-Mail-Adresse zusätzlich angegeben werden" sollte nochmal überdacht werden, das ist irreführend. §5 TMG sagt hier ausdrücklich: gilt "für geschäftsmäßige, in der Regel gegen Entgelt angebotene Telemedien". Das schließt rein privat betriebene Webseiten, deren Zweck nicht kommerziell ist aus und bezieht sich explizit nur auf o.g.. Im Rahmen einer Impressungsabmahnung (Anbieterkennzeichnungspflicht) reicht ein einfaches Einspruchsschreiben eines Anwaltes (geht evtl. auch ohne) mit Bezugnahme auf obiges.

                                        geschäftsmäßige = z.B. auch Vereine

                                        in der Regel gegen Entgelt = in der Regel "aber nicht nur" gegen Entgelt (deswegen auch Vereine etc.)

                                        "aber nicht nur" hab ich eingefügt, so sieht das ein Anwalt, ich wünschte es wär einer hier...

                                        Danke schon mal im Voraus & auf Wiederlesen!

                                        der torsten

                                        --
                                        ------- Shakespeare: To be or not to be / Sartre: To be is to do / Camus: To do is to be / Sinatra: Do be do be do
                                        1. problematische Seite

                                          Hallo bugfix,

                                          wie bereits alle beteiligten feststellen konnten hab ich null Ahnung von sehr vielen Dingen

                                          Das muss ja nicht so bleiben 😀.

                                          §5 TMG sagt hier ausdrücklich: gilt "für geschäftsmäßige, in der Regel gegen Entgelt angebotene Telemedien". Das schließt rein privat betriebene Webseiten, deren Zweck nicht kommerziell ist aus

                                          Nein. Eine geschäftsmäßig betriebene Seite bedeutet nicht zwangsläufig, dass sie auch kommerziell im engeren Sinne sein muss. Eine Seite könnte beispielsweise als Eigenwerbung aufgefasst werden. Das Verständnis, was „rein privat“ ist, unterscheidet sich offensichtlich vom Otto Normalbürger zum Gesetzgeber. Da diese Unterscheidung dermaßen unscharf und schwer zu treffen ist, sollte man dann doch sicherheitshalber ein Impressum anbieten, um auf der sicheren Seite zu sein.

                                          Gruß
                                          Julius

                                          1. problematische Seite

                                            @@Julius

                                            sollte man dann doch sicherheitshalber ein Impressum anbieten, um auf der sicheren Seite zu sein.

                                            Auf der sichereren Seite ist man, wenn man seine Privatadresse nicht für jeden sichtbar im Netz stehen hat.

                                            🖖 Stay hard! Stay hungry! Stay alive! Stay home!

                                            --
                                            Vielen Eltern dämmert beim Home-Schooling so langsam die Erkenntnis: Lehrer ist wohl doch ein regelrechter Beruf! (@heuteshow)
                                            1. problematische Seite

                                              Hallo Gunnar,

                                              sollte man dann doch sicherheitshalber ein Impressum anbieten, um auf der sicheren Seite zu sein.

                                              Auf der sichereren Seite ist man, wenn man seine Privatadresse nicht für jeden sichtbar im Netz stehen hat.

                                              Ich sprach von „rechtlich auf der sicheren Seite“.
                                              Mir wäre es auch lieber, wenn man als Privatperson und nichtkommerzielle Seite lediglich eine E-Mail-Adresse als Kontakt angeben müsste.

                                              Ich meine, dass das sogar mal in der Politik diskutiert wurde, aber der Vorschlag kam wohl von der Linken und daher setzte bei der CDU sofort das Scheuklappendenken ein („Die bösen Linken wollen mit allem immer nur den Sozialismus einführen und alle enteignen, daher setzen wir uns nicht mit deren Vorschlägen auseinander.“).

                                              Gruß
                                              Julius

                                          2. problematische Seite

                                            Moin Julius,

                                            wie bereits alle beteiligten feststellen konnten hab ich null Ahnung von sehr vielen Dingen

                                            Das muss ja nicht so bleiben 😀.

                                            Jein, ich will jeztzt nicht die ollen Kamellen bemühen aber das kann ich immer auf mich anwenden :)

                                            §5 TMG sagt hier ausdrücklich: gilt "für geschäftsmäßige, in der Regel gegen Entgelt angebotene Telemedien". Das schließt rein privat betriebene Webseiten, deren Zweck nicht kommerziell ist aus

                                            Nein. Eine geschäftsmäßig betriebene Seite bedeutet nicht zwangsläufig, dass sie auch kommerziell im engeren Sinne sein muss. Eine Seite könnte beispielsweise als Eigenwerbung aufgefasst werden. Das Verständnis, was „rein privat“ ist, unterscheidet sich offensichtlich vom Otto Normalbürger zum Gesetzgeber. Da diese Unterscheidung dermaßen unscharf und schwer zu treffen ist, sollte man dann doch sicherheitshalber ein Impressum anbieten, um auf der sicheren Seite zu sein.

                                            geschäftsmäßig oder geschäftlich wird gern diskutiert ist aber gesetzlich recht klar umrissen und Vereine sind eigentlich auch nicht "komerziell im engeren sinne" deswegen hab ich darauf hingewiesen.

                                            sicherheitshalber ein Impressum anbieten

                                            da hab ich nie widersprochen

                                            auch aus rechtlichen Gründen – immer auch die E-Mail-Adresse zusätzlich angegeben werden

                                            hier aber schon... es gibt keinen rechtlichen Grund für private Betreiber und immer schon mal gar nicht ;-) sorry

                                            Das wird sicher für Korinthenhkackerei gehalten, aber wer sich in dem Umfeld bewegen muss, der weiß wie die obrige Gerichtsbarkeit so drauf ist.

                                            Danke schon mal im Voraus & auf Wiederlesen!

                                            der torsten

                                            --
                                            ------- Shakespeare: To be or not to be / Sartre: To be is to do / Camus: To do is to be / Sinatra: Do be do be do
                                            1. problematische Seite

                                              Hallo bugfix,

                                              geschäftsmäßig oder geschäftlich wird gern diskutiert ist aber gesetzlich recht klar umrissen und Vereine sind eigentlich auch nicht "komerziell im engeren sinne" deswegen hab ich darauf hingewiesen.

                                              Wie Vereine eingeordnet werden, ist nicht von Relevanz für die Frage, wie Privatpersonen eingeordnet werden. Und wer genau unter die diversen Regeln fällt, ist auch nicht abschließend und umfassend geklärt.
                                              eRecht24.de bestätigt meine Ansicht:

                                              Zusammen gefasst: Die Impressumspflicht nach TMG gilt nicht für Seiten, die sich ausschließlich auf rein private und familiäre Inhalte beschränken (mein Kind, meine Katze, mein Haus). Alle anderen Seitenbetreiber sollten - um rechtliche Risiken zu vermeiden - ein vollständiges Impressum erstellen und auf ihrer Webseite einbinden.

                                              Sobald ich also auf meiner Seite irgendetwas habe, das auch nur im Entferntesten mit meinem Beruf zu tun hat, ist zu bezweifeln, dass die Seite nicht „geschäftsmäßig“ ist.

                                              auch aus rechtlichen Gründen – immer auch die E-Mail-Adresse zusätzlich angegeben werden

                                              hier aber schon... es gibt keinen rechtlichen Grund für private Betreiber und immer schon mal gar nicht ;-) sorry

                                              Ähm doch. Wenn man ein korrektes Impressum anbietet, was man praktisch aus Gründen der Sicherheit muss (soweit waren wir uns dann ja anscheinend einig), dann gehört dazu auch eine E-Mail-Adresse, also ist die Aussage korrekt.

                                              Gruß
                                              Julius

                                              1. problematische Seite

                                                Lieber Julius,

                                                ich zitiere mal die Betreiber der Webseite, die du hier belastest:

                                                "Wenn Sie auf der Suche nach professioneller rechtlicher Beratung im internetrecht sind, sollten Sie sich auf eine Kanzlei verlassen..." bla bla

                                                das würde ich trotz Rechtschreibfehler auch dringend empfehlen, anstatt kopiertes zu einem ungesunden Halbwissen zu vereinen...

                                                geschäftsmäßig oder geschäftlich wird gern diskutiert ist aber gesetzlich recht klar umrissen und Vereine sind eigentlich auch nicht "komerziell im engeren sinne" deswegen hab ich darauf hingewiesen.

                                                Wie Vereine eingeordnet werden, ist nicht von Relevanz für die Frage, wie Privatpersonen eingeordnet werden.

                                                hat auch niemand behauptet... bitte noch mal lesen

                                                Zusammen gefasst: Die Impressumspflicht nach TMG gilt nicht für Seiten, die sich ausschließlich auf rein private und familiäre Inhalte beschränken (mein Kind, meine Katze, mein Haus). Alle anderen Seitenbetreiber sollten - um rechtliche Risiken zu vermeiden - ein vollständiges Impressum erstellen und auf ihrer Webseite einbinden.

                                                sollte ist keine rechtliche Grundlage

                                                Sobald ich also auf meiner Seite irgendetwas habe, das auch nur im Entferntesten mit meinem Beruf zu tun hat, ist zu bezweifeln, dass die Seite nicht „geschäftsmäßig“ ist.

                                                ist das zitiert von betreffender Quelle?

                                                Ähm doch. Wenn man ein korrektes Impressum anbietet, was man praktisch aus Gründen der Sicherheit muss (soweit waren wir uns dann ja anscheinend einig)

                                                ganz und gar nicht

                                                aber zur Beruhigung zitiere ich mal Prof. Dr. Wilrich von der Hochschule für Angewandte Wissenschaften München "wenn sie einem Anwalt ... eine Frage stellen wird die Antwort lauten: Es kommt darauf an."

                                                Danke schon mal im Voraus & auf Wiederlesen!

                                                der torsten

                                                --
                                                ------- Shakespeare: To be or not to be / Sartre: To be is to do / Camus: To do is to be / Sinatra: Do be do be do
                                      2. problematische Seite

                                        Servus!

                                        Hallo Julius, @Matthias Scharwies

                                        Falls man das Formular allerdings als Kontaktformular (ist vielleicht eingängiger als Formmailer und damit besser auffindbar, wie siehst du das @Matthias Scharwies?)

                                        Ich habe in dem Artikel mal das Wort „Kontaktformular“ einbaut und bei der Gelegenheit auch gleich die Sache mit der Pflicht zur zusätzlichen Angabe einer E-Mail-Adresse angefrühstückt (das war übrigens auch einer der Punkte, der seit 3 Jahren auf meiner Liste stand 🙄), die kam in diesem Thread ja auch auf.

                                        Zusätzlich habe ich eine Weiterleitung eingerichtet, damit das in der Wiki-Suche als Vorschlag auftaucht.

                                        Die Weiterleitung ist super! Eigentlich müsste man das Suchwort jetzt in jedes Tutorial (HTML-Einstieg, fertige Layouts, etc) einbauen. Ich kümmer' mich mal drum.

                                        Herzliche Grüße

                                        Matthias Scharwies

                                        --
                                        25 Jahre SELFHTML → SELF-Treffen 05.-07. Juni 2020 in Mannheim
                    3. problematische Seite

                      Moin Raketenbürokrat,

                      Das ist die hier übliche Hilfe.

                      Leider bin ich trotzdem noch nicht in der Lage, das captcha mit dem mir vorliegenden php fürs Formular versenden so zu vermählen, dass meine Mail im PHP versteckt bleibt... Ich habe überlegt den Zugang zum Formular hinter dem captcha ungefähr auf folgende Art zu verstecken

                         and ( $captcha -> validateAnswer( $_POST['ftxAnswer'], $_POST['ftxHash'] ) )
                      ) {
                        echo '<input class="button" type="submit" value="Senden" />';
                        
                      } else {
                        echo '<h1>Löse das Captcha!</h1>
                      <main>
                      ' . $captcha -> getForm( 'POST' ) . '
                      

                      das schränkt aber die Zugänglichkeit noch weiter ein und macht vermutlich wenig Sinn...

                      dann wär da noch die f5 Problematik, ich hab irgendwo gelesen, dass man das Formular speichern kann und mit dem gespeicherten vergleichen, wenn die Seite aktualisiert wird um erneutes Senden zu verhindern... grübelgrübel

                      Danke schon mal im Voraus & auf Wiederlesen!

                      der torsten

                      --
                      ------- Shakespeare: To be or not to be / Sartre: To be is to do / Camus: To do is to be / Sinatra: Do be do be do
                      1. problematische Seite

                        Hallo,

                        Leider bin ich trotzdem noch nicht in der Lage, das captcha mit dem mir vorliegenden php fürs Formular versenden so zu vermählen, dass meine Mail im PHP versteckt bleibt...

                        nochmal, auch auf die Gefahr hin, dass ich nerve: Wenn du uns wenigstens ansatzweise erklären könntest, wo und zu welchem Zweck "deine Mail" hier ins Spiel kommt (und du meinst vermutlich deine Mailadresse), dann hätten wir vielleicht eine Chance, dir wirklich zielführende Hinweise zu geben.

                        Ich habe überlegt den Zugang zum Formular hinter dem captcha ungefähr auf folgende Art zu verstecken

                           and ( $captcha -> validateAnswer( $_POST['ftxAnswer'], $_POST['ftxHash'] ) )
                        ) {
                          echo '<input class="button" type="submit" value="Senden" />';
                          
                        } else {
                          echo '<h1>Löse das Captcha!</h1>
                        <main>
                        ' . $captcha -> getForm( 'POST' ) . '
                        

                        Sorry, ich verstehe nicht, was du da erreichen willst.

                        dann wär da noch die f5 Problematik, ich hab irgendwo gelesen, dass man das Formular speichern kann und mit dem gespeicherten vergleichen, wenn die Seite aktualisiert wird um erneutes Senden zu verhindern... grübelgrübel

                        Das Problem besteht bei dir nicht: Du verwendest doch die Request-Methode POST, und da wird ein Formular beim Refresh der Seite nicht erneut abgeschickt. Oder genauer: Der Browser weist darauf hin, dass Formulardaten erneut gesendet würden, und lässt dann den Nutzer entscheiden, ob er das will.

                        Live long and pros healthy,
                         Martin

                        --
                        Ich stamme aus Ironien, einem Land am sarkastischen Ozean.
                        1. problematische Seite

                          Moin Der,

                          nochmal, auch auf die Gefahr hin, dass ich nerve: Wenn du uns wenigstens ansatzweise erklären könntest, wo und zu welchem Zweck "deine Mail" hier ins Spiel kommt (und du meinst vermutlich deine Mailadresse), dann hätten wir vielleicht eine Chance, dir wirklich zielführende Hinweise zu geben.

                          Wenn ich mal den großartihen Karl Valentin zitieren darf "Ich bin auf Sie angewiesen, aber Sie nicht auf mich! Merken Sie sich das!" und wenn hier einer nervt, dann bin wohl eher ich das :)

                          • ich möchte gern meine Mailadresse verstecken (in erster Linie vor Suchmaschinen usw. aber auch vor bösen Mailsammlern etc.)
                          • ich möchte trotzdem gern ein Kontaktformular anbieten
                          • das ganze soll nicht so einfach durch Bots oder so einen Krimskrams aus gelöst werden können

                          das ist es im wesentlichen...

                          eins noch, ich möchte nicht die google Captchas einbauen.

                          Ich habe überlegt den Zugang zum Formular hinter dem captcha ungefähr auf folgende Art zu verstecken

                             and ( $captcha -> validateAnswer( $_POST['ftxAnswer'], $_POST['ftxHash'] ) )
                          ) {
                            echo '<input class="button" type="submit" value="Senden" />';
                            
                          } else {
                            echo '<h1>Löse das Captcha!</h1>
                          <main>
                          ' . $captcha -> getForm( 'POST' ) . '
                          

                          Sorry, ich verstehe nicht, was du da erreichen willst.

                          vorher stand an dieser Stelle eine Liste mit Links, durch lösen des Captcha wir die Liste angezeigt, das gleiche sollte imho mit dem Senden Button möglich sein... hatte aber noch keine zeit das zu probieren...

                          dann wär da noch die f5 Problematik, ich hab irgendwo gelesen, dass man das Formular speichern kann und mit dem gespeicherten vergleichen, wenn die Seite aktualisiert wird um erneutes Senden zu verhindern... grübelgrübel

                          Das Problem besteht bei dir nicht: Du verwendest doch die Request-Methode POST, und da wird ein Formular beim Refresh der Seite nicht erneut abgeschickt. Oder genauer: Der Browser weist darauf hin, dass Formulardaten erneut gesendet würden, und lässt dann den Nutzer entscheiden, ob er das will.

                          Jepp, und genau das find ich seltsam und nervig, das Formular sollte nach dem absenden leer sein und f5 sollte nur das leere Formular aktualisieren

                          Danke schon mal im Voraus & auf Wiederlesen!

                          der torsten

                          --
                          ------- Shakespeare: To be or not to be / Sartre: To be is to do / Camus: To do is to be / Sinatra: Do be do be do
                          1. problematische Seite

                            Hallo Torsten,

                            nochmal, auch auf die Gefahr hin, dass ich nerve: Wenn du uns wenigstens ansatzweise erklären könntest, wo und zu welchem Zweck "deine Mail" hier ins Spiel kommt (und du meinst vermutlich deine Mailadresse), dann hätten wir vielleicht eine Chance, dir wirklich zielführende Hinweise zu geben.

                            Wenn ich mal den großartihen Karl Valentin zitieren darf "Ich bin auf Sie angewiesen, aber Sie nicht auf mich! Merken Sie sich das!" und wenn hier einer nervt, dann bin wohl eher ich das :)

                            damit kann ich leben. :-)
                            Ich mag Karl Valentin nicht, aber ich bin auch nicht beleidigt, mit ihm in einem Atemzug genannt zu werden.

                            • ich möchte gern meine Mailadresse verstecken (in erster Linie vor Suchmaschinen usw. aber auch vor bösen Mailsammlern etc.)
                            • ich möchte trotzdem gern ein Kontaktformular anbieten
                            • das ganze soll nicht so einfach durch Bots oder so einen Krimskrams aus gelöst werden können

                            Ja, okay. Aber dann muss deine Mailadresse, an die das letztendlich verschickt wird, doch gar nicht im HTML auftauchen, das der Client sieht. Die steht dann ausschließlich im Aufruf der PHP-Funktion mail(). Daher verstehe ich nicht, was du damit noch für Klimmzüge anstellst.

                            dann wär da noch die f5 Problematik, ich hab irgendwo gelesen, dass man das Formular speichern kann und mit dem gespeicherten vergleichen, wenn die Seite aktualisiert wird um erneutes Senden zu verhindern... grübelgrübel

                            Das Problem besteht bei dir nicht: Du verwendest doch die Request-Methode POST, und da wird ein Formular beim Refresh der Seite nicht erneut abgeschickt. Oder genauer: Der Browser weist darauf hin, dass Formulardaten erneut gesendet würden, und lässt dann den Nutzer entscheiden, ob er das will.

                            Jepp, und genau das find ich seltsam und nervig, das Formular sollte nach dem absenden leer sein und f5 sollte nur das leere Formular aktualisieren

                            Das realisiert man üblicherweise so, dass das Script, welches die Formulardaten verarbeitet, nicht direkt die Antwort sendet, sondern ein Redirect auf die leere Formularseite (auch wenn ein Hinweis im Sinn von "Danke für Ihre Anfrage" ganz nett wäre).

                            Live long and pros healthy,
                             Martin

                            --
                            Ich stamme aus Ironien, einem Land am sarkastischen Ozean.
                          2. problematische Seite

                            @bugfix

                            Mal so von „Ossi“ zu „Ossi“,

                            Warum (zum Teufel!) tust Du nicht das Notwendige? (Die Kontaktseite entfernen / ersetzen?).

                            1. problematische Seite

                              Moin Raktenbugfinder,

                              @bugfix

                              Mal so von „Ossi“ zu „Ossi“,

                              Warum (zum Teufel!) tust Du nicht das Notwendige? (Die Kontaktseite entfernen / ersetzen?).

                              Hi, jetzt bleib doch mal bitte am Boden, nicht mal Google besucht mich regelmäßig. Weiter oben hab ich geschrieben, dass ich was ändern werde, außerdem bin ich nicht ununterbrochen am Rechner. Das Script ist jetzt außer Betrieb.

                              Abgesehen davon finde ich das gut, dass du sowas machst, am wie könnte man aber nochmal etwas feilen.

                              Danke schon mal im Voraus & auf Wiederlesen!

                              der torsten

                              --
                              ------- Shakespeare: To be or not to be / Sartre: To be is to do / Camus: To do is to be / Sinatra: Do be do be do
                              1. problematische Seite

                                wie könnte man aber nochmal etwas feilen.

                                Mit „etwas feilen“ ist es bei dem Skript dieses selbst ernannten „cloud, devops, and full stack design & development professional“ nicht getan. Der Typ hat WIRKLICH ALLES falsch gemacht. Das Zeug ist auch kein Punk, keine Kunst - das muss ganz weg.

                                Ein einfaches (sic: einfaches!) Skript für den Versand einfachster Kontakt-Nachrichten nur an Dich selbst, bei denen auch keine Nicht-ASCII-Zeichen im Subjekt oder den Mailheadern auftauchen dürfen, könnte so aussehen:

                                <?php
                                /* 
                                 * Dieses Skript setzt voraus, dass die PHP-Funktion
                                 * mail() -> https://www.php.net/manual/de/function.mail.php
                                 * durch den Hoster ordnungsgemäß konfiguriert wurde.
                                */
                                
                                # *** Konfiguration ***
                                
                                # Wohin soll die Nachricht gehen?
                                define( 'Email_TO', 'DeineAdresse@example.com' );
                                
                                # Bei manchen Hostern ist die Angabe einer Maiadresse des selben Hosters(!) erforderlich:
                                define( 'Email_FROM', 'formailer@example.com' );
                                
                                # Das Subjekt bestimmst Du selbst. Keine Umlaute! (sonst wird es komplizierter).
                                define( 'Email_SUBJECT', 'Nachricht via Kontaktformular' ); 
                                
                                # Was soll nach dem Mailversand angezeigt werden?
                                define( 'new_URL', '/danke.html' );
                                
                                # *** In der Regel nicht zu ändern:
                                
                                /*
                                 * https://www.php.net/manual/de/function.mail sagt:
                                 * Hinweis:
                                 * Wenn E-Mails nicht ankommen, versuchen Sie bitte, nur das LF-Zeichen (\n) zu verwenden.
                                 * Einige UNIX-MTAs (mail transfer agents) (ganz besonders » qmail) ersetzen leider LF
                                 * durch CRLF (\r\n) automatisch (wodurch das CR-Zeichen verdoppelt wird, wenn CRLF
                                 * verwendet wird).
                                 * Dies sollte aber nur in Ausnahmefällen geschehen, da es gegen » RFC 2822 verstößt. 
                                */
                                define( 'Smtp_EOL', "\r\n" ); 
                                define( 'Charset', "UTF-8" ); 
                                
                                # *** Programm:
                                
                                if ( 
                                	$_SERVER['REQUEST_METHOD'] == 'POST' 
                                	and isset( $_POST['name']    )
                                	and isset( $_POST['email']   )
                                	and isset( $_POST['message'] )
                                ) {
                                
                                
                                	# Kurzer Prozess bei häufigem Angriffsversuch:
                                
                                	foreach ( ['email', 'name'] as $item ) {
                                		if ( false !== strpos( "\n", $_POST[ $item ] ) ) {
                                			http_response_code( 410 );
                                			echo '<h1>Nice Try!</h1><hr><p>Your message was not sent.</p>';
                                			exit;
                                		}
                                	}    
                                
                                	# Kurzer Prozess mit Spam:
                                
                                	/*
                                	* Spamfilter
                                	* https://code.fastix.org/Projekte/PHP:Spam-Erkennung%20f%c3%bcr%20Mail-%20und%20Kontaktformulare/
                                	* Dateien herunterladen und installieren
                                	* Erforderlich:
                                	* File: known_spam.txt (kann/muss angepasst/ergänzt werden)
                                	* File: SpamDetector.php
                                	*/ 
                                	require_once ( 'SpamDetector.php' );
                                
                                
                                	$spamdetector = new SpamDetector();
                                	foreach ( ['message', 'email', 'name'] as $item ) {
                                		if ( $spamdetector -> detect( $_POST[ $item ] ) ) {
                                			http_response_code( 403 );
                                			echo '<h1>Sorry! Spam detected.</h1><hr><p>Your message was not sent.</p>';
                                			exit;
                                		}
                                	}
                                
                                
                                
                                	# Ist also vermutlich kein Spam. Dann senden wir das Zeug mal...
                                
                                	$headers    = [];
                                	$headers[]  = 'MIME-Version: 1.0';
                                	$headers[]  = 'Content-Transfer-Encoding: 8bit';
                                	$headers[] .= 'From: '. Email_From;
                                	$headers[] .= 'Content-Type: text/plain; charset=' . Charset;
                                
                                	$headers = implode( Smtp_EOL, $headers );
                                
                                	$body = $_POST['name'] . '( ' . $_POST['email'] . ' ) schrieb: '  . Smtp_EOL . Smtp_EOL;
                                	$body .= $_POST['message'];
                                
                                
                                	# Mail versenden:
                                	mail( Email_TO, Email_SUBJECT, $body, $headers );
                                
                                	# Zur Danke-Seite:
                                	header( 'Location: ' . new_URL );
                                
                                } else {
                                	/*
                                	* Formular für Eingabe von
                                	* Name (input name='name')
                                	* Mailadresse für Antwort (input name='email'),
                                	* Nachricht (textarea name='message')
                                	* Angabe des target nicht erforderlich.
                                	*/
                                	readfile( 'kontakt-formular.html' );
                                	# oder, wenn PHP erforderlich:
                                	# require 'kontakt-formular.php';
                                }
                                
                                1. problematische Seite

                                  	$headers[] .= 'From: '. Email_From;
                                  	$headers[] .= 'Content-Type: text/plain; charset=' . Charset;
                                  

                                  Muss lauten:

                                  	$headers[] = 'From: '. Email_From;
                                  	$headers[] = 'Content-Type: text/plain; charset=' . Charset;
                                  

                                  ... sonst gibt es notlose Notizen im Errorlog.

                                  1. problematische Seite

                                    Moin Raketenquelltextkorrigierer,

                                    	$headers[] .= 'From: '. Email_From;
                                    	$headers[] .= 'Content-Type: text/plain; charset=' . Charset;
                                    

                                    Muss lauten:

                                    	$headers[] = 'From: '. Email_From;
                                    	$headers[] = 'Content-Type: text/plain; charset=' . Charset;
                                    

                                    ... sonst gibt es notlose Notizen im Errorlog.

                                    Ich habs ausprobiert, das Script meldet aber folgenden Fehler, wenn ich auf den Senden Button klicke:

                                    Warning: Use of undefined constant Email_From - assumed 'Email_From' (this will throw an Error in a future version of PHP) in /PfadZurDatei/start.contact.php on line 85 Warning: Cannot modify header information - headers already sent by (output started at /PfadZurDatei/start.contact.php:85) in /PfadZurDatei/start.contact.php on line 98

                                    Ich hab verschiedene Mailadressen der gleichen Domain ausprobiert. Was könnte ich möglicher Weise falsch gemacht haben?

                                    Danke schon mal im Voraus & auf Wiederlesen!

                                    der torsten

                                    --
                                    ------- Shakespeare: To be or not to be / Sartre: To be is to do / Camus: To do is to be / Sinatra: Do be do be do
                                    1. problematische Seite

                                      define( 'Email_FROM', 'formailer@example.com' );
                                      #...
                                      
                                      $headers[] = 'From: '. Email_From;
                                      

                                      Nimm mal an, dass Computer so dumme wie kleinliche Genauheimer sind. Was hab ICH also falsch gemacht?

                                      1. problematische Seite

                                        Moin Raketencomputerpsychologe,

                                        define( 'Email_FROM', 'formailer@example.com' );
                                        #...
                                        
                                        $headers[] = 'From: '. Email_From;
                                        

                                        Nimm mal an, dass Computer so dumme wie kleinliche Genauheimer sind. Was hab ICH also falsch gemacht?

                                        define( 'Email_FROM', 'formailer@example.com' );
                                        #...
                                        
                                        $headers[] = 'From: ' Email_From;
                                        

                                        le Pünktchen?

                                        ne das ist's nicht immer noch meckering

                                        Danke schon mal im Voraus & auf Wiederlesen!

                                        der torsten

                                        --
                                        ------- Shakespeare: To be or not to be / Sartre: To be is to do / Camus: To do is to be / Sinatra: Do be do be do
                                        1. problematische Seite

                                          Wenn ich

                                          define( 'Email_FROM', 'formailer@example.com' );
                                          

                                          definiere, dann muss ich auch

                                          $headers[] = 'From: ' Email_FROM;
                                          

                                          nutzen.

                                          Das "Warning: Use of undefined constant Email_From" ist doch eigentlich klar. Wenn man nicht Anführungsstriche um einen String vergessen hat, dann muss man halt schauen, ob die Konstante genau übereinstimmend notiert wurde

                                          1. problematische Seite

                                            Moin Raketenpsychologe,

                                            Wenn ich

                                            define( 'Email_FROM', 'formailer@example.com' );
                                            

                                            definiere, dann muss ich auch

                                            $headers[] = 'From: '. Email_FROM;
                                            

                                            nutzen.

                                            ohne das Pünktchen, dass ich rausgebastelt hab gehts nicht

                                            Das "Warning: Use of undefined constant Email_From" ist doch eigentlich klar. Wenn man nicht Anführungsstriche um einen String vergessen hat, dann muss man halt schauen, ob die Konstante genau übereinstimmend notiert wurde

                                            und so etwas sehe ich tatsächlich nicht... erst als ich beides untereinander kopiert hab in der Datei...

                                            jetzt funktionierts, krasses Teil! Danke für die Unterstützung!

                                            Danke schon mal im Voraus & auf Wiederlesen!

                                            der torsten

                                            --
                                            ------- Shakespeare: To be or not to be / Sartre: To be is to do / Camus: To do is to be / Sinatra: Do be do be do
                                            1. problematische Seite

                                              EmailFrom / EmailFROM

                                              und so etwas sehe ich tatsächlich nicht.

                                              Naja. Programmieren lernen, im Lauf der Zeit megabyteweise selbst versachte Fehlermeldungen lesen und man findet „so etwas“ immer schneller...

                                              krasses Teil!

                                              Krass? Da hab ich anderes im Angebot. Manches fing als harmloser Dreizeiler an und hat jetzt ein paar tausend.

                                              1. problematische Seite

                                                Moin Raketenfuzzi,

                                                Krass? Da hab ich anderes im Angebot. Manches fing als harmloser Dreizeiler an und hat jetzt ein paar tausend.

                                                vor dem Teil hab ich echt Angst ;-)

                                                deiner known_spam.txt hab ich mal die wichtigsten deutschen Spam-Trigger hinzu gefügt... ich habe zwar recht wenig bis keine Probleme damit und erwarte auch nicht dass sich jemand hinsetzt um mir ne Spam-Mail zu senden, aber vorbeugen ist besser als auf die schuhe k...(leckern?) wenn du magst, take it :)

                                                Danke schon mal im Voraus & auf Wiederlesen!

                                                der torsten

                                                --
                                                ------- Shakespeare: To be or not to be / Sartre: To be is to do / Camus: To do is to be / Sinatra: Do be do be do
                                                1. problematische Seite

                                                  deiner known_spam.txt hab ich mal die wichtigsten deutschen Spam-Trigger hinzu gefügt...

                                                  Nun, ob man das €-Symbol da drin haben will ist eine sehr individuelle Entscheidung:

                                                  Etwas wie "Hallo Herr Jm, könnte ich für 100 € das Foto für meine Webseite nutzen?" würde bei Dir als Spam erkannt.

                                                  Ich hab das an Spam „festgemacht“, den ich über ein Kontaktformular bekommen habe und möchte aus geschäftlichen Gründen natürlich vor allem false-positive vermeiden.

                                                  1. problematische Seite

                                                    Moin Raktenkonfigurationsseppl,

                                                    deiner known_spam.txt hab ich mal die wichtigsten deutschen Spam-Trigger hinzu gefügt...

                                                    Nun, ob man das €-Symbol da drin haben will ist eine sehr individuelle Entscheidung:

                                                    Etwas wie "Hallo Herr Jm, könnte ich für 100 € das Foto für meine Webseite nutzen?" würde bei Dir als Spam erkannt.

                                                    Ich hab das an Spam „festgemacht“, den ich über ein Kontaktformular bekommen habe und möchte aus geschäftlichen Gründen natürlich vor allem false-positive vermeiden.

                                                    Danke dür den Tipp, hab ich überhaupt nicht drüber nachgedacht, ist aber erst einmal passiert in der Fotocommunity, hab das Angebot verpennt weil ich die Mails nie lese ×lol× wär sogar für nen Fernsehfilm gewesen. Auch beim Knipsen bin ich kein bisschen erfolgreich, alles just for fun. Heutzutage muss man nur noch eine Sache richtig gut können. Netzwerken! Auch auf den Fotoportalen gehts nicht mehr (nur) um Bilder oder Inhalt, man muss viele Follower haben, die dann automatisiert deinen Kram serviert bekommen. Da bin ich ne echte Niete, keine Zeit für sowas...

                                                    (Allerdings muss ich zugeben, dass sich dort auch sehr viele ambitionierte und Profis tummeln mit teilweise extrem guten Bildern.)

                                                    Danke schon mal im Voraus & auf Wiederlesen!

                                                    der torsten

                                                    --
                                                    ------- Shakespeare: To be or not to be / Sartre: To be is to do / Camus: To do is to be / Sinatra: Do be do be do
                                            2. problematische Seite

                                              Hallo bugfix,

                                              das Pünktchen, dass ich rausgebastelt hab

                                              hat einen Namen, nämlich String-Verkettungs-Operator.

                                              'From: ' ist ein String (oder Zeichenkette).

                                              Email_FROM ist eine mit define() festgelegte Konstante, und diese Konstante ist ebenfalls ein String mit dem Wert 'formailer@example.com'.

                                              Wenn Du möchtest, dass PHP diese beiden Strings aneinanderhängt, brauchst Du den Punkt-Operator. Andere Programmiersprachen verwenden dafür das +, das ist aber in PHP allein für die Addition von Zahlen reserviert.

                                              Also: $headers[] = 'From: '. Email_FROM; macht zwei Dinge.

                                              1. Die beiden Strings aneinanderhängen zu 'From: formailer@example.com'.
                                              2. Diesen String im $headers Array speichern. Dazu schaut PHP, welches der höchste bisher verwendete Index im Array ist, und speichert den neuen Wert unter dem nächsthöheren Index.

                                              Rolf

                                              --
                                              sumpsi - posui - obstruxi
                                              1. problematische Seite

                                                Moin Rolf,

                                                hat einen Namen, nämlich String-Verkettungs-Operator.

                                                'From: ' ist ein String (oder Zeichenkette).

                                                Email_FROM ist eine mit define() festgelegte Konstante, und diese Konstante ist ebenfalls ein String mit dem Wert 'formailer@example.com'.

                                                Wenn Du möchtest, dass PHP diese beiden Strings aneinanderhängt, brauchst Du den Punkt-Operator. Andere Programmiersprachen verwenden dafür das +, das ist aber in PHP allein für die Addition von Zahlen reserviert.

                                                Also: $headers[] = 'From: '. Email_FROM; macht zwei Dinge.

                                                1. Die beiden Strings aneinanderhängen zu 'From: formailer@example.com'.
                                                2. Diesen String im $headers Array speichern. Dazu schaut PHP, welches der höchste bisher verwendete Index im Array ist, und speichert den neuen Wert unter dem nächsthöheren Index.

                                                vielen Dank aber du verschwendest wirklich Energie, wenn du versuchst nem Esel Trompete spielen beizubringen. Ein Kollege pflegte immer zu sagen: Aus nem Schweinetrog kann man keinen Geigenkasten schnitzen!"

                                                nicht, dass ich deinen Ausführungen nicht folgen könnte aber mir die Basics zu erarbeiten würde noch Trillionenzillionenmillionen von Zeiteinheiten dauern, habs schon mal mit Javascript versucht und bin gescheitert...

                                                Danke schon mal im Voraus & auf Wiederlesen!

                                                der torsten

                                                --
                                                ------- Shakespeare: To be or not to be / Sartre: To be is to do / Camus: To do is to be / Sinatra: Do be do be do
                                                1. problematische Seite

                                                  Hallo Torsten,

                                                  dann möchte ich mal ganz klar meine Meinung dazu sagen:

                                                  Wenn Du nichts weiter willst, als PHP- und JavaScript Kopiervorlagen einzusammeln, ohne selbst zu verstehen was da passiert, dann bist Du hier und generell beim Programmieren falsch.

                                                  Sicherlich würdest Du mit Klempner-Heimwerkerkenntnissen nicht versuchen wollen, die Elektrotechnik eines Mehrfamilienhauses zu erstellen. Bzw. da würde man es Dir amtlich verbieten. Und wenn Du Dich dann auch noch hinstellst und sagst: Zum Erlernen der nötigen Fähigkeiten fehlt mir die Zeit, aber das ist mein Haus und ich verkabele das schon, sagt mir nur bitte eben wo ich welchen Draht hinstecken muss, tja, das Gelächter des Bauordnungsamts kannst Du Dir sicher vorstellen.

                                                  Auch das Erstellen von Software jeglicher Art ist ein Handwerk, das man beherrschen muss, wenn man damit an die Öffentlichkeit gehen will. Andernfalls gefährdet man sich und andere.

                                                  Rolf

                                                  --
                                                  sumpsi - posui - obstruxi
                                                  1. problematische Seite

                                                    Wenn Du nichts weiter willst, als PHP- und JavaScript Kopiervorlagen einzusammeln, ohne selbst zu verstehen was da passiert, dann bist Du hier und generell beim Programmieren falsch.

                                                    Vor allem hat er „Live und Farbe“ erlebt, was passieren kann.

                                                    1. problematische Seite

                                                      Moin Raketenbetrachter,

                                                      Wenn Du nichts weiter willst, als PHP- und JavaScript Kopiervorlagen einzusammeln, ohne selbst zu verstehen was da passiert, dann bist Du hier und generell beim Programmieren falsch.

                                                      Vor allem hat er „Live und Farbe“ erlebt, was passieren kann.

                                                      Ich hab noch was gebastelt, das treibt hoffentlich niemanden in den Wahnsinn. Es ist ganz sicher auch weder elegant noch sonderlich intelligent aber irgendwie witzig.

                                                      Das Mailformular ruft ja eine andere Seite auf, aus der die Daten abgeholt, werden, in diese Seite habe ich das Captcha reingefummelt, und zwar so dass das Mailformular nur sichtbar wird wenn das Captcha gelöst ist (nur etwas html austauschen). Ob das die Welt schonmal gesehen hat? Mir wärs anders lieber gewesen aber ich fummel nicht am code rum... da geht nur was putt. 😬

                                                      Danke schon mal im Voraus & auf Wiederlesen!

                                                      der torsten

                                                      --
                                                      ------- Shakespeare: To be or not to be / Sartre: To be is to do / Camus: To do is to be / Sinatra: Do be do be do
                                                  2. problematische Seite

                                                    Moin Rolf,

                                                    Hallo Torsten,

                                                    dann möchte ich mal ganz klar meine Meinung dazu sagen:

                                                    Wenn Du nichts weiter willst, als PHP- und JavaScript Kopiervorlagen einzusammeln, ohne selbst zu verstehen was da passiert, dann bist Du hier und generell beim Programmieren falsch.

                                                    Sicherlich würdest Du mit Klempner-Heimwerkerkenntnissen nicht versuchen wollen, die Elektrotechnik eines Mehrfamilienhauses zu erstellen. Bzw. da würde man es Dir amtlich verbieten. Und wenn Du Dich dann auch noch hinstellst und sagst: Zum Erlernen der nötigen Fähigkeiten fehlt mir die Zeit, aber das ist mein Haus und ich verkabele das schon, sagt mir nur bitte eben wo ich welchen Draht hinstecken muss, tja, das Gelächter des Bauordnungsamts kannst Du Dir sicher vorstellen.

                                                    Auch das Erstellen von Software jeglicher Art ist ein Handwerk, das man beherrschen muss, wenn man damit an die Öffentlichkeit gehen will. Andernfalls gefährdet man sich und andere.

                                                    prinzipiell stimmt das auch, aber wie beinahe alles im Leben ist das keine Schwarz-Weiss Betrachtung (ich behaupte mal jeder hat schon dummes Zeug gemacht von dem er nicht so richtig was versteht und deswegen auch die Folgen nicht umfänglich abschätzuen kann) und jeder der's kann und weiss würde deine Argumentation einsetzten. Abgesehen davon ist es ja nicht so, dass ich nichts dazu lernen würde, wenn man mir hier weiter hilft. Und ja, ich könnte auch die kostenlosen Web-, oder Wordpress-Vorlagen von meinem Provider benutzen, die sicher alles viel besser können und sicherer sind usw. das macht aber keinen Spaß.

                                                    Ich bin jetzt die fünfte Woche aus gesundheitlichen Gründen zu hause und neben allem was ich trotzdem beruflich abwickeln kann hat mir das endlich mal Luft verschafft, meine Seite zu modernisieren. Aber in der Zeit lernt man nicht sicher Programmieren, wenn man bei -1 anfängt. Wenn ich wieder im Job stecke bin ich i.d.r. von 6.30 morgens bis 18-19.ooUhr beschäftigt, die schmalen Wochenenden sind auch ausgefüllt bzw. nutze ich mal stundenweise für nix×... deswegen hatte meine Homepage den Stand von vor 10 Jahren.

                                                    ×nix = im Garten rumwurschteln oder andere Hobbys

                                                    aus unkenntniss der Gefahren hab ich Fehler gemacht und gelernt hab ich, dass ich nicht mehr einfach so alles zusammenleihen darf wenns um Programmierung× geht, ich denke das ist ein ziemlich wichtiger Schritt, oder?

                                                    ×wobei ich html & css nicht als programmierung betrachte, bei Javascript bediene ich mich bei den "großen" open source anbietern und php lass ich zukünftig ganz weg... sicherheitshalber, denn das bekomm ich nicht hin in absehbarer Zeit. Das hab ich aber öfter betont.

                                                    Ich bin und ich hoffe das wurde schon mal zur Kenntniss genommen, sehr dankbar dass ich hier so viel Hilfe erhalte und werde auch an den Verein Spenden (das ist beides bitte unabhängig zu betrachten)

                                                    Danke schon mal im Voraus & auf Wiederlesen!

                                                    der torsten

                                                    --
                                                    ------- Shakespeare: To be or not to be / Sartre: To be is to do / Camus: To do is to be / Sinatra: Do be do be do
                                                    1. problematische Seite

                                                      Hallo bugfix,

                                                      ×wobei ich html & css nicht als programmierung betrachte, bei Javascript bediene ich mich bei den "großen" open source anbietern und php lass ich zukünftig ganz weg...

                                                      HTML und CSS sind ja tatsächlich auch keine Programmiersprachen.

                                                      Mit JavaScript kann man sich aber auch Sicherheitslücken einfangen, beispielsweise XSS. Das kann passieren, wenn du beispielsweise den Fragment-Identifier (das nach dem # in der URL) per innerHTML statt textContent in dein Dokument schreiben.
                                                      Ich weiß, das ist nervig, darauf rumzureiten. Es geht mir hier nur ums Sensibilisieren 😀.

                                                      Gruß
                                                      Julius

                                                      1. problematische Seite

                                                        Moin Julius,

                                                        Hallo bugfix,

                                                        ×wobei ich html & css nicht als programmierung betrachte, bei Javascript bediene ich mich bei den "großen" open source anbietern und php lass ich zukünftig ganz weg...

                                                        HTML und CSS sind ja tatsächlich auch keine Programmiersprachen.

                                                        Mit JavaScript kann man sich aber auch Sicherheitslücken einfangen, beispielsweise XSS. Das kann passieren, wenn du beispielsweise den Fragment-Identifier (das nach dem # in der URL) per innerHTML statt textContent in dein Dokument schreiben.
                                                        Ich weiß, das ist nervig, darauf rumzureiten. Es geht mir hier nur ums Sensibilisieren 😀.

                                                        Genau deswegen fühl ich mich hier so gut aufgehoben, ist ja nicht das einzige Forum der Welt, aber vielleicht das Beste? ;-)

                                                        Danke schon mal im Voraus & auf Wiederlesen!

                                                        der torsten

                                                        --
                                                        ------- Shakespeare: To be or not to be / Sartre: To be is to do / Camus: To do is to be / Sinatra: Do be do be do
                          3. problematische Seite

                            Hallo bugfix,

                            • ich möchte gern meine Mailadresse verstecken (in erster Linie vor Suchmaschinen usw. aber auch vor bösen Mailsammlern etc.)

                            Ohne die Angabe einer E-Mail-Adresse wirst du nicht auskommen, nur so auf die schnelle gefunden: https://www.e-recht24.de/news/haftunginhalte/7641-impressumspflicht-e-mail-adresse-oder-kontaktformular-im-impressum.html

                            Untersag den Suchmaschinen das Indexieren deiner Kontaktseite via robots.txt und / oder Metadaten. Außerdem gibt es Möglichkeiten, die E-Mail-Adresse zu verschleiern. Ich würde ein Bild mit der E-Mail-Adresse vorschlagen, als alt-Text mail [at] example [punkt] org und dann per JavaScript das Bild gegen die E-Mail-Adresse austauschen

                            Gruß
                            Julius

                            1. problematische Seite

                              Moin Julius,

                              • ich möchte gern meine Mailadresse verstecken (in erster Linie vor Suchmaschinen usw. aber auch vor bösen Mailsammlern etc.)

                              Ohne die Angabe einer E-Mail-Adresse wirst du nicht auskommen, nur so auf die schnelle gefunden: https://www.e-recht24.de/news/haftunginhalte/7641-impressumspflicht-e-mail-adresse-oder-kontaktformular-im-impressum.html

                              Danke für den Hinweis, grundsätzlich ist das richtig, trifft aber für mich nicht zu. Ich musste mich mit diesem Thema bereits auseinander setzen. Impressumsangaben sind zwar vorgeschrieben, allerdings nur für Webseiten mit gewerblichem Hintergrund (auch nebengewerblich u.ä.) deswegen wird das im Beamtendeutsch auch Anbieterkennzeichnung genannt, genau wie's dort in der Überschrift steht. Für rein private Webseiten, die "nichts und niemanden" verkaufen (so formuliert in meiner "über mich" Seite) ist das nicht vorgeschrieben, dessen bin ich mir ausnahmsweise ganz sicher.

                              Untersag den Suchmaschinen das Indexieren deiner Kontaktseite via robots.txt und / oder Metadaten. Außerdem gibt es Möglichkeiten, die E-Mail-Adresse zu verschleiern. Ich würde ein Bild mit der E-Mail-Adresse vorschlagen, als alt-Text mail [at] example [punkt] org und dann per JavaScript das Bild gegen die E-Mail-Adresse austauschen

                              ach ne gute Idee an der ich nur scheitern kann... (das Javascript-Dingens)

                              Übrigens scheint, zumindest was die Lust am kontakten angeht nichts über ein solches Formular zu gehen, hab schon wieder ne Mail von einem Scherzkeks erhalten. Absender abuse@... mit der IP des Servers wo das ganze gehostet ist... welchen Eindruck das erwecken soll kann ich aber nicht deuten. Zum kullern...

                              Das Formmailer Tutorial hilft mir aber auch nicht wirklich weiter, hab alles brav der Anleitung gemacht, von Github die lib runter geladen im Webspace platziert und das php angepasst und referenziert wie beschrieben. Ich bekomme aer immer folgende Fehlermeldung:

                              Fatal error: Uncaught Error: Call to undefined method Swift_Message::newInstance() in .../jungmann.photo/.../test.php:31 Stack trace: #0 {main} thrown in .../jungmann.photo/.../test.php on line 31

                              in besagter Zeile steht:

                              $message = Swift_Message::newInstance(); // Ein Objekt für die Mailnachricht.

                              meine googleversuche haben da noch keinen brauchbaren hinweis zu tage gefördert, kommt sicher noch

                              Danke schon mal im Voraus & auf Wiederlesen!

                              der torsten

                              --
                              ------- Shakespeare: To be or not to be / Sartre: To be is to do / Camus: To do is to be / Sinatra: Do be do be do
                              1. problematische Seite

                                Guten Abend,

                                Impressumsangaben sind zwar vorgeschrieben, allerdings nur für Webseiten mit gewerblichem Hintergrund (auch nebengewerblich u.ä.) deswegen wird das im Beamtendeutsch auch Anbieterkennzeichnung genannt, genau wie's dort in der Überschrift steht.

                                auch wenn ich inhaltlich genau dieselbe Meinung vertrete, gibt es Juristen, die das anders sehen und eher den Begriff geschäftsmäßig betonen. Damit ist eben nicht gewerblich gemeint, sondern jegliches nachhaltige Angebot, auch ohne Absicht der Gewinnerzielung.

                                Für rein private Webseiten, die "nichts und niemanden" verkaufen (so formuliert in meiner "über mich" Seite) ist das nicht vorgeschrieben, dessen bin ich mir ausnahmsweise ganz sicher.

                                Dein Wort in Gottes Ohr.

                                Untersag den Suchmaschinen das Indexieren deiner Kontaktseite via robots.txt und / oder Metadaten. Außerdem gibt es Möglichkeiten, die E-Mail-Adresse zu verschleiern. Ich würde ein Bild mit der E-Mail-Adresse vorschlagen, als alt-Text mail [at] example [punkt] org und dann per JavaScript das Bild gegen die E-Mail-Adresse austauschen

                                ach ne gute Idee an der ich nur scheitern kann... (das Javascript-Dingens)

                                Zumal das ziemlich sinnlos ist, weil viele Bots mittlerweile auch Javascript verstehen.

                                Übrigens scheint, zumindest was die Lust am kontakten angeht nichts über ein solches Formular zu gehen, hab schon wieder ne Mail von einem Scherzkeks erhalten. Absender abuse@... mit der IP des Servers wo das ganze gehostet ist... welchen Eindruck das erwecken soll kann ich aber nicht deuten. Zum kullern...

                                Ja, allerdings. Denn die allgemein übliche Adresse abuse@example.com ist normalerweise nur als Adresse zum Empfang von Beschwerden gedacht, nicht aber zum Versand von Mails.
                                Ungefähr so, wie die 0180er-Telefonnummern. Die sind auch nur dazu gedacht, um angerufen zu werden. Wann immer man angerufen wird, und als Telefonnummer des Anrufers eine 0180-Nummer angezeigt wird, ist eine sofortige Meldung an die Bundesnetzagentur angesagt.

                                Live long and pros healthy,
                                 Martin

                                --
                                Ich stamme aus Ironien, einem Land am sarkastischen Ozean.
                              2. problematische Seite

                                Übrigens scheint, zumindest was die Lust am kontakten angeht nichts über ein solches Formular zu gehen, hab schon wieder ne Mail von einem Scherzkeks erhalten. Absender abuse@... mit der IP des Servers wo das ganze gehostet ist... welchen Eindruck das erwecken soll kann ich aber nicht deuten. Zum kullern...

                                Da wäre ich mir nicht so sicher. Maybe hat jemand versucht, mein Rezept zu befolgen.

                                Vermutlich bekam abuse@one.com eine Kopie…

                                1. problematische Seite

                                  Moin Raketenortungssystem,

                                  Übrigens scheint, zumindest was die Lust am kontakten angeht nichts über ein solches Formular zu gehen, hab schon wieder ne Mail von einem Scherzkeks erhalten. Absender abuse@... mit der IP des Servers wo das ganze gehostet ist... welchen Eindruck das erwecken soll kann ich aber nicht deuten. Zum kullern...

                                  Da wäre ich mir nicht so sicher. Maybe hat jemand versucht, mein Rezept zu befolgen.

                                  Vermutlich bekam abuse@one.com eine Kopie…

                                  ...ich enddecke hier geradezu hellseherische Fähigkeiten, ist das Hacken von Webseiten eigentlich legal?

                                  Danke schon mal im Voraus & auf Wiederlesen!

                                  der torsten

                                  --
                                  ------- Shakespeare: To be or not to be / Sartre: To be is to do / Camus: To do is to be / Sinatra: Do be do be do
                                  1. problematische Seite

                                    Hallo,

                                    ist das Hacken von Webseiten eigentlich legal?

                                    Darüber lässt sich vermutlich lange streiten, aber das Nutzen von Angeboten wird i.d.R. nicht als Hacken bezeichnet.

                                    Gruß
                                    Kalk

                                    1. problematische Seite

                                      Moin Tabellenkalk,

                                      Hallo,

                                      ist das Hacken von Webseiten eigentlich legal?

                                      Darüber lässt sich vermutlich lange streiten, aber das Nutzen von Angeboten wird i.d.R. nicht als Hacken bezeichnet.

                                      Die Straße bietet mir an echt schnell zu fahren, dafür haben Polizisten meißt kein Verständnis.

                                      Danke schon mal im Voraus & auf Wiederlesen!

                                      der torsten

                                      --
                                      ------- Shakespeare: To be or not to be / Sartre: To be is to do / Camus: To do is to be / Sinatra: Do be do be do
                                      1. problematische Seite

                                        Hallo,

                                        Die Straße bietet mir an echt schnell zu fahren, dafür haben Polizisten meißt kein Verständnis.

                                        Um die Straße so zu nutzen, musst du einen Führerschein besitzen. Das ist beim Webseitenbetrieb halt nicht der Fall.

                                        Gruß
                                        Kalk

                                        1. problematische Seite

                                          Moin Tabellenkalk,

                                          Hallo,

                                          Die Straße bietet mir an echt schnell zu fahren, dafür haben Polizisten meißt kein Verständnis.

                                          Um die Straße so zu nutzen, musst du einen Führerschein besitzen. Das ist beim Webseitenbetrieb halt nicht der Fall.

                                          Achtung Klugscheißerarlarm: Das Delikt dürfte inzwischen verjährt sein. Mit 16 bin ich Motorrad gefahren als ich's hatte, nicht als ich's durfte. Du siehst, bei mir hat die Sache System 😉

                                          Entspricht zwar der Wahrheit ist aber durchaus witzig, sarkastisch und ein ganz klein wenig zynisch gemeint... also nicht übersäuern bitte 😉

                                          Danke schon mal im Voraus & auf Wiederlesen!

                                          der torsten

                                          --
                                          ------- Shakespeare: To be or not to be / Sartre: To be is to do / Camus: To do is to be / Sinatra: Do be do be do
                                          1. problematische Seite

                                            @@bugfix

                                            Mit 16 bin ich Motorrad gefahren als ich's hatte, nicht als ich's durfte.

                                            Der Vergleich hinkt.

                                            Du bist Motorrad gefahren als du’s konntest.

                                            Jetzt versuchst du dich an einem Kontaktformular mit Mailversand, obwohl du’s nicht kannst.

                                            LLAP 🖖

                                            --
                                            Vielen Eltern dämmert beim Home-Schooling so langsam die Erkenntnis: Lehrer ist wohl doch ein regelrechter Beruf! (@heuteshow)
                                  2. problematische Seite

                                    ...ich enddecke hier geradezu hellseherische Fähigkeiten,

                                    Die braucht man hier regelmäßig um die Frage (und erst recht das Problem) erfassen zu können

                                    Übrigens ist der Liter Wodka in

                                    $Eimer  = [];
                                    $Eimer[] = "1 Liter billiger Wodka";
                                    $Eimer[] = "100 Gramm Wäschebleiche";
                                    $Eimer[] = "Flasche billiges Duschgel";
                                    $Eimer[] = "8,8 Liter gutes deutsches Leitungswasser";
                                    

                                    nicht zum Trinken vorgesehen. Sonst wird das nichts mit „10 Liter Desinfektionsmittel für unter 10 Euro“.

                              3. problematische Seite

                                Hallo bugfix,

                                Fatal error: Uncaught Error: Call to undefined method Swift_Message::newInstance() in .../jungmann.photo/.../test.php:31 Stack trace: #0 {main} thrown in .../jungmann.photo/.../test.php on line 31

                                in besagter Zeile steht:

                                $message = Swift_Message::newInstance(); // Ein Objekt für die Mailnachricht.

                                Für mich sieht das so aus, dass der Swift-Mailer nicht korrekt eingebunden wurde.

                                Bis demnächst
                                Matthias

                                --
                                Du kannst das Projekt SELFHTML unterstützen,
                                indem du bei Amazon-Einkäufen Amazon smile (Was ist das?) nutzt.
                            2. problematische Seite

                              Hallo Julius,

                              Untersag den Suchmaschinen das Indexieren deiner Kontaktseite via robots.txt und / oder Metadaten.

                              Bitte die Suchmaschinen via robots.txt, auf das Indexieren deiner Kontaktseite zu verzichten. 😉

                              Bis demnächst
                              Matthias

                              --
                              Du kannst das Projekt SELFHTML unterstützen,
                              indem du bei Amazon-Einkäufen Amazon smile (Was ist das?) nutzt.
            2. problematische Seite

              Als Ergebnis kommen nicht viele Zahlen in Betracht, die Zahlen zwischen 2 und 8 mit signifikant erhöhter Wahrscheinlichkeit, bis 20 mit erhöhter Wahrscheinlichkeit, über 20 nur bei Mulitplikation.

              Genauer: 6, 8, 10 oder 12:

              Beweis:

              <?php
              
              
              class count {
              	private $ar = [];
              	
              	function __construct() {
              		for ( $i=-9; $i<=100; $i++ ) {
              		   $this -> ar[ $i ] = 0;
              		}
              	}
              	
              	function regist( $z ) {
              		$this -> ar[ $z ]++; 
              	}
              	
              	function listAll() {
              		$b = 0;
              		for ( $i=-9; $i<=100; $i++ ) {
              		   echo $i . "\t" . $this->ar[$i] . PHP_EOL;
              		   if ( $this->ar[ $i ] > $this->ar[ $b] ) $b = $i;
              		}
              		echo PHP_EOL;
              		echo "Kleinster häufigster Wert: " . $b . PHP_EOL;
                  echo ( ( $b / 109 ) * 100 ) .'%'. PHP_EOL; 
              	}
              }
              
              
              $c = new count();
              
              for ( $i=1; $i<11; $i++ ) {
                 for ($k=1; $k<11; $k++) {
                    $c->regist( $i + $k ) ;
                    $c->regist( $i - $k ) ;
                    $c->regist( $i * $k ) ;
                 }
                 $c -> listAll();
              }
              
              
              

              In 5,5% der Versuche (Jedem 19.) liegt man also (rein statistisch) mit 6 richtig...

  4. problematische Seite

    @@bugfix

    ich muss leider schon wieder nerven

    Ja, und zwar die Nutzer deiner Seite. Und nein, musst du nicht.

    Es gibt auf Webseiten viele Stellen, wo man kreativ sein kann. Formularelemente gehören eher nicht dazu.

    Was soll das Rumgezappel? Erfüllt das einen guten Zweck? Wenn nein, weg damit!

    „Weil ich’s kann“ ist kein guter Grund.

    LLAP 🖖

    --
    Wenn der Faschismus wiederkommt, wird er nicht sagen: Hallo, ich bin der Faschismus! Sondern er wird sagen: Ich nehme die Wahl an.
    1. problematische Seite

      Moin Gunnar,

      ich muss leider schon wieder nerven

      Ja, und zwar die Nutzer deiner Seite. Und nein, musst du nicht.

      ... etwas zu müssen ist kein Naturgesetz also sagen wir mal ich hätte formuliert: "ich weiß mir nicht anders zu helfen und nerve deswegen schon wieder"

      Ob der Nutzer genervt sind könne sie mir ja Mitteilen... wenn dich das stört bist du Nummer Eins auf der Liste, ich werde drüber Nachdenken.

      Was soll das Rumgezappel? Erfüllt das einen guten Zweck? Wenn nein, weg damit!

      „Weil ich’s kann“ ist kein guter Grund.

      Können kann ich's offensichtlich nicht, gehofft hatte ich auch was dazu zu lernen (danke @Rolf B, @Martl, @Matthias Apsel) Wenn es immer nur um Inhalt ginge müssten fast alle Inhalte so voll fadem Inhalts sein, dass sich niemand für den Inhalt interessiert. In meinem Schrank hab ich auch ein Schubfach für die Socken, eins für die Hemden... da ist die Interaktion eines Äffchens gefragt... Stöckchen ins Astloch Termiten ins Mäulchen.

      Seit Jahren prostituiere ich meine Mailadresse im Internet in der Hoffnung auf ein wenig Spam, hoffnungslos! Kein Schwein interressiert sich für mich. Kaum versuche ich statt eines lieblosen mailto: dem alten Geraffel ein neues Gewand zu verpassen, bekomm ich auch schon die erste Hot-Mail vom Absender furz@furz.furz, welch ein Zufall, die Affenfalle hat schon zugeschlagen!

      Nix für ungut...

      Danke schon mal im Voraus & auf Wiederlesen!

      der torsten

      --
      ------- Shakespeare sagt: To be or not to be / Sartre sagt: To be is to do / Camus sagt: To do is to be / Sinatra singt: Do be do be do
      1. problematische Seite

        @@bugfix

        Wenn es immer nur um Inhalt ginge müssten fast alle Inhalte so voll fadem Inhalts sein, dass sich niemand für den Inhalt interessiert.

        Du hast sehr guten Inhalt auf deiner Seite: deine Fotos. Es macht Spaß, sich die Bildergalerien anzusehen.

        Du musst nicht versuchen, auf deiner Website mit irgendwelchem Schnickschnack zu punkten.

        LLAP 🖖

        --
        Wenn der Faschismus wiederkommt, wird er nicht sagen: Hallo, ich bin der Faschismus! Sondern er wird sagen: Ich nehme die Wahl an.
        1. problematische Seite

          Moin Gunnar,

          @@bugfix

          Wenn es immer nur um Inhalt ginge müssten fast alle Inhalte so voll fadem Inhalts sein, dass sich niemand für den Inhalt interessiert.

          Du hast sehr guten Inhalt auf deiner Seite: deine Fotos. Es macht Spaß, sich die Bildergalerien anzusehen.

          Du musst nicht versuchen, auf deiner Website mit irgendwelchem Schnickschnack zu punkten.

          Schnickschnack den ich nicht beherrsche... hättest du ruhig schreiben können. Danke für die Blumen :)

          Danke schon mal im Voraus & auf Wiederlesen!

          der torsten

          --
          ------- Shakespeare sagt: To be or not to be / Sartre sagt: To be is to do / Camus sagt: To do is to be / Sinatra singt: Do be do be do
          1. Dieser Beitrag wurde gelöscht: Der Beitrag ist ein Duplikat eines anderen Beitrags.
          2. problematische Seite

            @@bugfix

            Schnickschnack den ich nicht beherrsche...

            Nö, so meinte ich das gar nicht.

            Sondern: Schnickschnack, den du gar nicht zu beherrschen brauchst. Weil: Schnickschnack, der eher schadet als nutzt.

            Im Gegensatz zu deiner vorigen Frage, wie du deine Bilder ins Grid bekommst.

            LLAP 🖖

            --
            Wenn der Faschismus wiederkommt, wird er nicht sagen: Hallo, ich bin der Faschismus! Sondern er wird sagen: Ich nehme die Wahl an.
            1. problematische Seite

              Moin Gunnar,

              Schnickschnack den ich nicht beherrsche...

              Nö, so meinte ich das gar nicht.

              das ist jetzt mal wieder vollstes Missverständniss, ich denke dich ursprünglich bereits verstanden zu haben, fühlte mich null angefixt und wollte damit zum Ausdruck bringen, dass du ruhig mehr austeilen darfst als das Ursprüngliche (die Wahrheit ist manchmal auch aua) also alles gut! ;-)

              Danke schon mal im Voraus & auf Wiederlesen!

              der torsten

              --
              ------- Shakespeare sagt: To be or not to be / Sartre sagt: To be is to do / Camus sagt: To do is to be / Sinatra singt: Do be do be do
            2. problematische Seite

              Moin Gunnar,

              auch wenns mir nicht gefällt überzeugt die Argumentation, ich habs jetzt nochmal in hässlich zusammen geschraubt obwohl, ein wenig blingbling ist's ja immer noch ×gg×

              Danke schon mal im Voraus & auf Wiederlesen!

              der torsten

              --
              ------- Shakespeare sagt: To be or not to be / Sartre sagt: To be is to do / Camus sagt: To do is to be / Sinatra singt: Do be do be do
      2. problematische Seite

        Hallo bugfix,

        Ob der Nutzer genervt sind könne sie mir ja Mitteilen...

        warum sollte er?

        Was soll das Rumgezappel? Erfüllt das einen guten Zweck? Wenn nein, weg damit!

        „Weil ich’s kann“ ist kein guter Grund.

        Wenn es immer nur um Inhalt ginge müssten fast alle Inhalte so voll fadem Inhalts sein, dass sich niemand für den Inhalt interessiert.

        Kontaktformulare müssen funktionieren. Das heißt, sie sollen intuitiv bedienbar sein. Für jede/n.

        Bis demnächst
        Matthias

        --
        Du kannst das Projekt SELFHTML unterstützen,
        indem du bei Amazon-Einkäufen Amazon smile (Was ist das?) nutzt.
        1. problematische Seite

          Hallo,

          Kontaktformulare müssen funktionieren. Das heißt, sie sollen intuitiv bedienbar sein. Für jede/n.

          volle Zustimmung. Aber: Kontaktformulare sind (meiner Ansicht nach) nur ein Notbehelf für den Fall, dass eine Kontaktaufnahme per e-Mail nicht möglich ist.

          Nachteile des Kontaktformulars:

          • kann keine Anhänge mitsenden, etwa Bilder
          • habe hinterher keine Aufzeichnung dessen, was ich gesendet habe
          • manche Kontaktformulare sind ergonomisch sehr schlecht gemacht

          Live long and pros healthy,
           Martin

          --
          Ich stamme aus Ironien, einem Land am sarkastischen Ozean.
        2. problematische Seite

          Moin Matthias,

          Hallo bugfix,

          Ob der Nutzer genervt sind könne sie mir ja Mitteilen...

          warum sollte er?

          Nächstenliebe, Hilfsbereitschaft und der feste Glaube an eine bessereres Intenetz!

          Kontaktformulare müssen funktionieren. Das heißt, sie sollen intuitiv bedienbar sein. Für jede/n.

          Es ist zynisch zu behaupten das geflacker würde die Barrierefreiheit, für Menschen die auf unbewegte Objekte nicht oder nur schlecht fokussieren können vereinfachen, nichtdesto trotz ist das keine unumstößliche Wahrheit.

          (An dieser Stelle soll gelacht werden! [Bitte!])

          Danke schon mal im Voraus & auf Wiederlesen!

          der torsten

          --
          ------- Shakespeare sagt: To be or not to be / Sartre sagt: To be is to do / Camus sagt: To do is to be / Sinatra singt: Do be do be do