Michi: Download FORM über einen LINK

0 70

Download FORM über einen LINK

Michi
  • html
  • javascript
  • php
  1. 0
    beatovich
  2. 1
    Rolf B
    1. 0
      pl
    2. 0

      Bitte nicht!

      Regina Schaukrug
      • programmiertechnik
      • sicherheit
      1. 0
        Rolf B
        1. 0
          Regina Schaukrug
          1. 0
            pl
            1. 1
              Rolf B
              1. 0
                pl
                1. 0

                  mode mpm_itk

                  Regina Schaukrug
                  1. 0
                    pl
                    1. 0
                      Regina Schaukrug
                      1. 0
                        pl
                        1. 0
                          Regina Schaukrug
                          1. 0
                            pl
                        2. 0
                          m.
                          1. 0

                            Zu stille Übereinkunft?

                            Regina Schaukrug
                            • zu diesem forum
                            • zu diesem forum
                            1. 0
                              Matthias Apsel
                              1. 0
                                Regina Schaukrug
                                1. 0
                                  Matthias Apsel
                                  1. 0
                                    Gunnar Bittersmann
                                    1. 0
                                      m.
                                      1. 0
                                        Regina Schaukrug
                                        1. 0
                                          m.
                                          1. 0
                                            Regina Schaukrug
                                            1. 0
                                              m.
                                              1. 0
                                                Regina Schaukrug
                                                1. 0
                                                  m.
                                    2. 0
                                      MudGuard
                                2. 0
                                  m.
                            2. 0
                              m.
                              1. 0
                                Matthias Apsel
                                1. 0
                                  m.
                                  1. 0
                                    Regina Schaukrug
                    2. 0
                      Regina Schaukrug
                      1. 0
                        pl
                    3. 0
                      m.
                      1. 0
                        Regina Schaukrug
                        1. 0
                          m.
                2. 1
                  Rolf B
            2. 0
              m.
              1. 0
                Rolf B
                1. -1
                  m.
                  1. 0
                    Matthias Apsel
                    • zu diesem forum
                    1. 0
                      m.
                      1. 0
                        Gunnar Bittersmann
                      2. 0
                        beatovich
                        1. 0
                          m.
                  2. 2

                    Kein Protest Richtung Podest?

                    Regina Schaukrug
                    • menschelei
                    • zu diesem forum
                    • zu diesem forum
                    1. 0
                      m.
                      1. 0
                        Gunnar Bittersmann
                        • zu diesem forum
                        1. 0
                          m.
                          1. 0
                            Gunnar Bittersmann
                            1. 0
                              m.
                  3. 1
                    Rolf B
                    1. 0
                      m.
                      1. 0
                        Rolf B
      2. 0
        m.
      3. 0
        pl
  3. 0
    pl
    1. 1
      1unitedpower
      1. 0
        pl
        1. -3
          m.
          1. 0
            Gunnar Bittersmann
            1. 0
              m.
            2. 0
              Henry
        2. 1
          Gunnar Bittersmann
          • barrierefreiheit
          • css
          • html
          1. 0
            pl
            • zu diesem forum
  4. 0
    Gunnar Bittersmann
    • html

Ich möchte einen Upload verwirklichen.

<form action="?save=pictures" method="post" enctype="multipart/form-data">
<input type="hidden" name="id" value="<?php echo $id; ?>">
    <input type="file" name="datei" id="fileToUpload" accept="image/*">
    <input type="submit" value="Bild speichern" name="submit">
</form>

Soweit so gut. Ich möchte aber nur eine Link haben, ich stelle mir das so vor

<a href="#" >Bild Laden</a>

  1. Man klickt den Link an
  2. Das Auswahlfenster geht aus, in dem man die besgate Datei auswählt.
  3. Anschließend ok und beim Schließen wird die Dateien uploadet.

wie könnte ich da vorgehen?

  1. hallo

    Ich möchte einen Upload verwirklichen.

    <form action="?save=pictures" method="post" enctype="multipart/form-data">
    <input type="hidden" name="id" value="<?php echo $id; ?>">
        <input type="file" name="datei" id="fileToUpload" accept="image/*">
        <input type="submit" value="Bild speichern" name="submit">
    </form>
    

    Soweit so gut. Ich möchte aber nur eine Link haben, ich stelle mir das so vor

    <a href="#" >Bild Laden</a>

    1. Man klickt den Link an
    2. Das Auswahlfenster geht aus, in dem man die besgate Datei auswählt.
    3. Anschließend ok und beim Schließen wird die Dateien uploadet.

    was genau stört dich an der Form Lösung?

  2. Hallo Michi,

    ein solcher „Link“ müsste semantisch eher ein Button sein und würde JavaScript benötigen. Ohne JS wäre er funktionslos.

    Einen Button hast Du schon, im Form. Mit JavaScript kannst Du das so pimpen, dass der Submit Button des Form entfernt wird und das Form nach Dateiauswahl automatisch über AJAX abgeschickt wird, so dass Du die Seite nach dem Upload nicht neu aufbauen musst. Und es funktioniert ohne JavaScript immer noch (nur nicht so schön). Das ist progressive enhancement.

    Rolf

    --
    sumpsi - posui - clusi
    1. hi @Rolf B

      ein solcher „Link“ müsste semantisch eher ein Button sein und würde JavaScript benötigen. Ohne JS wäre er funktionslos.

      Einen Button hast Du schon, im Form. Mit JavaScript kannst Du das so pimpen, dass der Submit Button des Form entfernt wird und das Form nach Dateiauswahl automatisch über AJAX abgeschickt wird, so dass Du die Seite nach dem Upload nicht neu aufbauen musst. Und es funktioniert ohne JavaScript immer noch (nur nicht so schön). Das ist progressive enhancement.

      Im Prinzip schon. Aber wenn PE einen Mehrwert haben soll dann bitte nicht über FormData sondern über die FileAPI.

      MfG

    2. und das Form nach Dateiauswahl automatisch über AJAX abgeschickt wird

      Aua! Das will man aus Sicht eines, sein Tun bedenkenden, vernünftigen und verständigen Users gerade nicht haben. Denn so könnte man versehentlich die falsche Datei verschicken.

      1. Hallo Regina,

        ja, du hast eine Bestätigung weniger.

        Das entspricht mMn der Vorstellung des OP.

        Rolf

        --
        sumpsi - posui - clusi
        1. Vorstellung des OP.

          Wenn die Datei in den Machtbereich eines Dritten (z.B. nicht auf einen, dem Nutzer gehörendem Webserver) hochgeladen wird, ist das allerdings eine HORROR-Vorstellung.

          mMn

          Worauf beruhend? Ich habe nichts dazu gefunden, dass er selbst seine Bilder hochladen will.

          1. Moin,

            ein generelles Problem beim Upload ist auch, daß die Dateien temporär angelegt werden und zwar so daß da jeder darauf zugreifen kann, was natürlich auch ein Sicherheitsrisiko darstellt.

            Siehe also: upload_tmp_dir string

            Temporäres Verzeichnis, in dem Dateien während des Uploads gespeichert werden. Für dieses Verzeichnis muss der Benutzer, unter dem PHP läuft, Schreibberechtigung haben. Wenn hier nichts angeben wird, benutzt PHP das Standardverzeichnis für temporäre Dateien auf Ihrem System. 
            

            MfG

            1. Hallo pl,

              ...dass da jeder darauf zugreifen kann...

              jeder, der direkten Zugang zum Server hat. Also Admins. Die können auch sonst überall hin.

              Ein ordentlich eingerichteter Server hat seine Temp-Ordner da, wo der Apache nicht hingucken kann. D.h. der Zugriff auf die Dateien dort erfolgt kontrolliert über die Application, die sie hoffentlich auch schnellstmöglich wieder löscht. Das Risiko liegt demnach in möglichen Application-Bugs.

              Rolf

              --
              sumpsi - posui - clusi
              1. hi @Rolf B

                Ein ordentlich eingerichteter Server hat seine Temp-Ordner da, wo der Apache nicht hingucken kann.

                Das Problem ist nicht der Apache. Das Problem ist, daß temporäre Dateien angelegt werden! Im Übrigen ist das auch ein Thema für die Datenschutzerklärung.

                MfG

                1. Das Problem ist nicht der Apache. Das Problem ist, daß temporäre Dateien angelegt werden!

                  Na und?

                  Wenn auf einem Webserver wegen des virtuellen Hostings viele Benutzer sind, dann wird dieser regelmäßig mit mpm_itk_module oder ähnlichem gestartet, die in /tmp/ abgelegten Dateien werden dann auch diesem Benutzer zugeordnet (mit chmod 0600) und die als CGI(!) gestarteten PHP-Skripte werden auch mit den Rechten dieses Benutzers ausgeführt.

                  mpm_itk Homepage

                  1. Das Problem ist nicht der Apache. Das Problem ist, daß temporäre Dateien angelegt werden!

                    Na und?

                    mpm_itk Homepage

                    Warum die Dateien nicht gleich da speichern wo sie hingehören!? Das liest sich nämlich auch in der Datenschutzerklärung gleich viel besser!

                    MfG

                    1. Warum die Dateien nicht gleich da speichern

                      Das kannst Du haben, wenn Du die PHP.ini pumpst (upload_tmp_dir). Aber ohne mpm_itk oder suexec + fastcgi nützt das nichts, weil ja der Apache und damit PHP oder CGIs in das Verzeichnis schreiben können müssen...

                      wo sie hingehören!?

                      Eben um sie zuvor checken zu können. Es gibt für PHP sogar ein clamav-Modul für Virenscans. Man will also aus Sicherheitsgründen, dass der Programmierer die Datei verschieben und umbenennen muss. Wohl in der Hoffnung, dass ihm klar ist, was genau er da gerade tut.

                      1. Hallo fastix,

                        Eben um sie zuvor checken zu können. Es gibt für PHP sogar ein clamav-Modul für Virenscans. Man will also aus Sicherheitsgründen, dass der Programmierer die Datei verschieben und umbenennen muss. Wohl in der Hoffnung, dass ihm klar ist, was genau er da gerade tut.

                        Das beantworte nicht die Frage warum temp. Dateien angelegt werden müssen! Sie müssen das nämlich überhaupt nicht, nicht wegen einer Umbenennung und auch nicht wegen einem etwaigen Virencheck. Im Übrigen muss eine Datei auch nicht zwangsläufig im Dateisystem gespeichert werden.

                        MfG

                        1. Das beantworte nicht die Frage warum temp. Dateien angelegt werden müssen! Sie müssen das nämlich überhaupt nicht, nicht wegen einer Umbenennung und auch nicht wegen einem etwaigen Virencheck.

                          "Müssen müssen müssen" - Das Wort "muss" oder "müssen" hab ich nicht gebraucht. Die PHP Entwickler haben sich gedacht "So machen wir das." - Mir erscheint die Methode plausibel und es ist erreichbar, was wohl erreichbar sein soll. Wenn man den Server korrekt konfiguriert ist das auch nicht unsicher. Und als Massenhoster oder Fachkraft sollte man das hinbekommen.

                          Im Übrigen muss eine Datei auch nicht zwangsläufig im Dateisystem gespeichert werden.

                          Eine die den Arbeitsspeicher sonst ungebührlich belasten oder gar überlasten würde wohl schon - oder gibt es inzwischen ganz neue Erfindungen hinsichtlich des Speicherplatzes?

                          1. hi fastix

                            Im Übrigen muss eine Datei auch nicht zwangsläufig im Dateisystem gespeichert werden.

                            Eine die den Arbeitsspeicher sonst ungebührlich belasten oder gar überlasten würde wohl schon - oder gibt es inzwischen ganz neue Erfindungen hinsichtlich des Speicherplatzes?

                            Z.B. Mailversand. Base64 macht Bitoperationen, die können gar nicht auf Dateiebene stattfinden!

                            Und was temporäre Dateien betrifft: Die können auch mal liegenbleiben, nämlich dann wenn der Prozess stirbt.

                            Im Übrigen ist eine solche Datenstruktur alles Andere als schön:

                            Array
                            (
                                [upspot] => Array
                                    (
                                        [name] => Array
                                            (
                                                [0] => ehmetsklinge.jpg
                                                [1] => eichelberg.jpg
                                            )
                            
                                        [type] => Array
                                            (
                                                [0] => image/jpeg
                                                [1] => image/jpeg
                                            )
                            
                                        [tmp_name] => Array
                                            (
                                                [0] => C:\WINDOWS\Temp\phpB.tmp
                                                [1] => C:\WINDOWS\Temp\phpC.tmp
                                            )
                            
                                        [error] => Array
                                            (
                                                [0] => 0
                                                [1] => 0
                                            )
                            
                                        [size] => Array
                                            (
                                                [0] => 11761
                                                [1] => 17479
                                            )
                            
                                    )
                            
                            )
                            

                            Das sieht so aus als hätte das ein Praktikant nach 20 Bier auf einem Klodeckel entworfen.

                            Die Zukunft hat schon längst begonnen! Und zwar ohne temporäre Dateien!

                            MfG

                        2. Mahlzeit,

                          Im Übrigen muss eine Datei auch nicht zwangsläufig im Dateisystem gespeichert werden.

                          Lass mich raten: Du hast am Fahrrad eckige Reifen weil man ja nicht zwangsläufig runde Reifen benutzen muss …

                          --
                          42
                          1. @m.

                            Die, zur Vermeidung vom (F)lamewars geschlossene, stille Übereinkunft auf sowas NICHT mit sowas zu antworten, wurde wohl zu still publiziert?

                            1. Hallo Regina Schaukrug,

                              Die, zur Vermeidung vom (F)lamewars geschlossene, stille Übereinkunft auf sowas NICHT mit sowas zu antworten, wurde wohl zu still publiziert?

                              Quasi gar nicht.

                              Bis demnächst
                              Matthias

                              --
                              Rosen sind rot.
                              1. Die, zur Vermeidung vom (F)lamewars geschlossene, stille Übereinkunft auf sowas NICHT mit sowas zu antworten, wurde wohl zu still publiziert?

                                Quasi gar nicht.

                                @Matthias Apsel : Da stellt sich die Frage, ob das "Kunst" ist oder …

                                1. Hallo Regina Schaukrug,

                                  @Matthias Apsel : Da stellt sich die Frage, ob das "Kunst" ist oder …

                                  Grenzwertig. Ich initiiere mal eine Sperrabstimmung.

                                  Bis demnächst
                                  Matthias

                                  --
                                  Rosen sind rot.
                                  1. @@Matthias Apsel

                                    @Matthias Apsel : Da stellt sich die Frage, ob das "Kunst" ist oder …

                                    Grenzwertig.

                                    Wenn das schon grenzwertig sein soll, kann es kaum wundern, wenn sich Leute beschweren, ich würde hier Grenzen überschreiten.

                                    Können wir die Grenzen mal in Richtung „sinnvoll“ verschieben?

                                    Ich initiiere mal eine Sperrabstimmung.

                                    Da kann man nichts dagegen sagen.

                                    LLAP 🖖

                                    --
                                    „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
                                    1. Mahlzeit,

                                      Wenn das schon grenzwertig sein soll, kann es kaum wundern, wenn sich Leute beschweren, ich würde hier Grenzen überschreiten.

                                      Das Stock-im-Arsch-Syndrom gab es ja schon immer in diesem Forum, mal mehr, mal weniger. Vielleicht wird es demnächst ja wieder mehr und ich habe wieder keinen Grund, hier zu verweilen.

                                      Ich lass mich überraschen 😂

                                      --
                                      42
                                      1. @m. @Gunnar Bittersmann

                                        Es geht hier darum, jemanden in einer sehr speziellen Situation nicht unnötig zu provozieren und hat mit Dir gar nichts und mit Deinem Text nur insofern zu tun, als dass unnötig (weil ohne Bezug zu aufgeworfenen Fachfragen) und mit nicht äußerst sachlichen Formulierungen zu Antworten provoziert wurde. Die Situation erfordert sehr viel Empathie.

                                        Versteht Ihr mich?

                                        1. Mahlzeit,

                                          Versteht Ihr mich?

                                          Ich hab mir zum Thema Empathie extra mal ein Shirt gemacht.

                                          --
                                          42
                                          1. Hm. Habenwill.

                                            1. Mahlzeit,

                                              Hm. Habenwill.

                                              kosten bei mir 20€ zzgl. Versand. Natürlich mit Rechnung.

                                              --
                                              42
                                              1. Größe M bitte. Dunkelgrün wäre toll.

                                                1. Mahlzeit,

                                                  Größe M bitte. Dunkelgrün wäre toll.

                                                  schreib mir bitte ne Mail an info@shirts-mal-anders.de (noch keine Webseite, keine Zeit gehabt bisher). Dunkelgrün muss ich bestellen (lieferzeit dann ca. 7 Werktage), schwarz und weiss hab ich lagernd, da geht das Shirt nach Zahlungseingang am gleichen Tag noch raus.

                                                  Da ich ungern hier Werbung machen, alles weitere per Mail wenn Interesse 😀

                                                  --
                                                  42
                                    2. Hi,

                                      Ich initiiere mal eine Sperrabstimmung.

                                      Da kann man nichts dagegen sagen.

                                      Genau das ist das Problem der Sperrabstimmungen …

                                      cu,
                                      Andreas a/k/a MudGuard

                                2. Mahlzeit,

                                  @Matthias Apsel : Da stellt sich die Frage, ob das "Kunst" ist oder …

                                  Da Kunst etwas rein subjektives ist, ist per Definition alles Kunst.

                                  --
                                  42
                            2. Mahlzeit,

                              Die, zur Vermeidung vom (F)lamewars geschlossene, stille Übereinkunft auf sowas NICHT mit sowas zu antworten, wurde wohl zu still publiziert?

                              Ich bin idR mehrere Monate nicht hier und auch dann nur sporadisch. Wenn es in den Regeln steht, weiss ich es nicht, wenn es da nicht steht, ein klares Versäumnis der Forenleitung.

                              --
                              42
                              1. Hallo m.,

                                Wenn es in den Regeln steht, weiss ich es nicht, wenn es da nicht steht, ein klares Versäumnis der Forenleitung.

                                Nicht unbedingt. Ich als Teil der Forenleitung möchte dies nicht noch extra in die Charta formulieren. Zumal die stille Übereinkunft eigentlich auf genau eine Person abzielt.

                                Das, was Regina anmerkt, ist übrigens schon in der Charta verankert: „Behandle andere Forumsteilnehmer mit mindestens derselben Höflichkeit, die Du Dir selbst gegenüber erwartest und vermeide, andere Forumsteilnehmer persönlich zu attackieren.“

                                „Übertrieben rohe, geistlose oder beleidigende Postings werden gelöscht.“ - das ist hier nicht der Fall, imho.

                                „Schreib keine Postings, deren einziges Ziel ist, Streit im Forum zu schüren.“ - das mMn. auch nicht.

                                Bis demnächst
                                Matthias

                                --
                                Rosen sind rot.
                                1. Mahlzeit,

                                  Nicht unbedingt. Ich als Teil der Forenleitung möchte dies nicht noch extra in die Charta formulieren. Zumal die stille Übereinkunft eigentlich auf genau eine Person abzielt.

                                  Dann formuliere ich das anders: Wenn es eine verpflichtende Regel ist, gehört sie in die Charta, wenn es da nicht steht, kann es nicht jeder wissen, der hier schreibt.

                                  Das, was Regina anmerkt, ist übrigens schon in der Charta verankert: „Behandle andere Forumsteilnehmer mit mindestens derselben Höflichkeit, die Du Dir selbst gegenüber erwartest und vermeide, andere Forumsteilnehmer persönlich zu attackieren.“

                                  Ich habe weder mit der Schreibe von pl ein Problem, noch damit wenn jemand auf mich genau so schreibt. Für mich inst der Inhalt entscheidend. Attackieren ist für mich zu schwammig formuliert. Einige fühlen sich angepisst wenn man ihnen schreibt "gib mehr Infos, so ist keine Antwort möglich", anderen (wie mir z.B.) ist es egal wenn jemand schreibt "hey du Arsch, schreib was sinnvolles oder lass es". Ich reagiere dann halt entsprechend.

                                  Ok, ich bin in keinster Weise ein Maßstab weil ich zum einen keine Menschen mag, zum anderen noch nie das gemacht hab, was die Gesellschaft von mir erwartet.

                                  Was ich sagen will: Das was ich als völlig normal empfinde, werden sicher viele als "Attackieren" empfinden. Ich kann aber nix dafür, wenn die von ihren Eltern zum Weichei erzogen wurden 😂

                                  --
                                  42
                    2. Das liest sich nämlich auch in der Datenschutzerklärung gleich viel besser!

                      Naja. Wenn man mit dem Hoster einen Datenverarbeitungsvertrag abgeschlossen hat, dann hat der den Hut auf.

                      Merkmal dafür, dass der Kleinhoster was falsch macht: PHP läuft als Modul, Kunden haben Zugriff via ssh oder ftp[s].

                      <pre><?php phpinfo();
                      

                      gibt Auskunft.

                      1. Hi fastix,

                        Das liest sich nämlich auch in der Datenschutzerklärung gleich viel besser!

                        Naja. Wenn man mit dem Hoster einen Datenverarbeitungsvertrag abgeschlossen hat, dann hat der den Hut auf.

                        Selbstverständlich ist das was beim Hoster passiert ein wesentlicher Bestandteil einer Datenschutzerklärung. Der Anbieter möchte doch daß die Kunden ihm vertrauen, sonnst kann er seinen Laden ja gleich dicht machen.

                        Im Übrigen kenne ich Gewerbetreibende die lehnen das Speichern ihrer Kundendaten auf Systemen Dritter (Provider) grundsätzlich ab.

                        MfG

                    3. Mahlzeit,

                      Warum die Dateien nicht gleich da speichern wo sie hingehören!? Das liest sich nämlich auch in der Datenschutzerklärung gleich viel besser!

                      Du willst also Dateien, ohne Möglichkeit der Überprüfung, sofort ins Zielverzeichnios schiben, wo sie evtl Schaden anrichten können? Bisher waren die meisten deiner Beiträge nur lächerlich, der hier ist jetzt richtig gefährlich.

                      --
                      42
                      1. Du willst also Dateien, ohne Möglichkeit der Überprüfung, sofort ins Zielverzeichnios schiben, wo sie evtl Schaden anrichten können?

                        Also mindestens mein "Liebling" Wordpress hat das einst - trotz PHP - erfolgreich vorgemacht. Und irgendwelche Wordpress-Plugins tun das offenbar immer wieder.

                        1. Mahlzeit,

                          Also mindestens mein "Liebling" Wordpress hat das einst - trotz PHP - erfolgreich vorgemacht. Und irgendwelche Wordpress-Plugins tun das offenbar immer wieder.

                          Entsprechend sind es auch immer die gleichen Sicherheitslücken, die in Wordpress seit Jahren ständig auftreten. Irgendwie muss Wordpress ja den Ruf aufrecht erhalten, die Müllhalde des Internets zu werden ;)

                          --
                          42
                2. Hallo pl und Fastix,

                  ihr rührt da eine Menge durcheinander…

                  • Der Anwender macht einen Upload. Das impliziert den Willen des Anwenders, Daten auf dem System des Webseitenanbieters zu speichern. Je nach Webseite erfolgt die endgültige Speicherung in einer Datei oder in einer Datenbank, jedenfalls nicht dort, wo die Temp-Dateien des Upload liegen. Siehe auch den nächsten Punkt. Gespeichert wird auf dem gleichen Server oder auf einem anderen. Beim gleichen Hoster oder bei einem anderen. Die Datenschutzerklärung muss diese Umstände natürlich dokumentieren, es müssen DSGVO-konforme Abläufe implementiert sein, und der Anwender muss die Kenntnisnahme und Akzeptanz bestätigen bevor er etwas hochlädt. Das hat aber nichts mit den prinzipiellen Abläufen beim Upload zu tun. Das ist der juristische Rahmen.

                  • Dass bei einem Upload Temp-Dateien angelegt werden, braucht die Datenschutzerklärung nicht zu interessieren. Das ist lediglich eine mögliche Technik zum Handhaben von Uploads, und damit Teil des Datenverarbeitungsablaufs, der den Upload-Wunsch behandelt. Nach Ende des Upload-Requests löscht PHP die Temp-Dateien. Es findet also keine dauerhafte Speicherung statt. Siehe hier: The file will be deleted from the temporary directory at the end of the request if it has not been moved away or renamed.. Es KANN natürlich sein, dass PHP-Bugs oder ein plötzlicher Servercrash dazu führen, dass Dateien stehen bleiben. Ein Tool, dass im Temp-Ordner Dateien abräumt die länger als einige Minuten nicht angefasst wurden, ist also schon wichtig. Die stehen gebliebenen Dateien sind bis dahin unspezifischer Datenmüll. Weder kann man sie automatisch einem User zuordnen, noch haben sie einen sinnvollen Namen. Andere Uploads greifen nicht darauf zu (weil die andere Temp-Namen bekommen). Aus Sicht der normalen Verarbeitungsabläufe existieren diese Dateien nicht.

                  • Auf Grund des gesetzten juristischen Rahmens ist Speichern des Uploads am dokumentierten Ort also kein Problem. Ich darf speichern. Der Anwender will das. Das ist sein Datenverarbeitungsauftrag an mich. Wenn der Anwender seine Daten nicht auf Systemen Dritter sehen will, ruft er die Uploadfunktion nicht auf. Um mit Fehl-Uploads umzugehen, kann ich eine Bestätigungs- oder Löschfunktion bereitstellen. Damit wird ein Fehlupload aus der Dateiablage entfernt.

                  • Fehl-Uploads (oder spätere Löschwünsche) können auch bei einem Upload-Form mit eigenem Submitbutton vorkommen, deswegen brauche ich eine Funktion zum Entfernen von Uploads ohnehin.

                  • Eine parallel verarbeitende Umgebung ist kein Problem. Wenn ich foo.txt hochlade, speichert PHP diese Datei ja nicht als foo.txt im Uploadverzeichnis, sondern vergibt einen Temp-Namen. Application Bugs könnten dazu führen, dass bei der Ablage der Uploads Daten vermengt werden. Das ist aber wieder vom Uploadverfahren unabhängig.

                  Also: Die Verwendung von Temp-Dateien ist ok. Ob ich das am Client mit File API mache oder mit FormData, ist Wurscht. PE findet statt (vorbehaltlich der Frage, ob es ein E ist oder nicht). Wenn man einen handgemachten enctype und eine handgemachte serverseitige Verarbeitung haben will - na meinetwegen. Das sind Implementierungsdetails.

                  Die einzige relevante Frage ist die, die Fastix aufgeworfen hat, nämlich, dass man sich bei der Dateiauswahl verklickt und statt des gewünschten Bildes ein anderes ausgewählt hat. Fallbeispiel: Screenshot mit einem Application-Fehler, für den man Support möchte. Ich habe per Malprogramm darin die Kundendaten unkenntlich gemacht. Verpeilt, wie ich bin, wähle ich die unverpinselte Version aus. Dann klicke ich im Auswahldialog OK und der Upload läuft los, ohne dass ich nochmal den Dateinamen überprüfen kann. Und die Datei ist bis zu dem Moment, wo ich Ups schreie und "Löschen" klicke, auf dem Server. In wie vielen Prozent der Irrtumsfälle ein zusätzlicher Submit-Button hilft, den Irrtum zu vermeiden, müsste man ohnehin erstmal erforschen. Ein entschlossener Depp baut entschlossen Deppenfehler.

                  Ob das ein echtes Problem ist, muss Michi für den vorliegenden Anwendungsfall beurteilen. Vielleicht will er ja nur seine Urlaubsfotos archivieren.

                  Rolf

                  --
                  sumpsi - posui - clusi
            2. Mahlzeit,

              ein generelles Problem beim Upload ist auch, daß die Dateien temporär angelegt werden und zwar so daß da jeder darauf zugreifen kann, was natürlich auch ein Sicherheitsrisiko darstellt.

              Mal wieder am gefährlichen Halbwissen verbreiten? Zum einen ist es seit zig Jahren üblich, dass jeder Webspace im Shared-Hosting ein eigenes tmp-Verzeichnis hat, zum anderen müsste ein "Angreifer" genau in dem Moment, in den der Download abgeschlossen ist und die Datei noch nicht verschoben wurde, abfangen. Dazu braucht er dann den, zufällig generierten, Dateinamen.

              Wieso fängst du nicht endlich mal an, zu lernen, wie der Stand der Technik ist, anstatt das weiter zu verbreiten, was für 10 Jahren schon veraltet war? Von mir aus leb weiter in deiner Traumwelt, und wenn du drauf stehst, dich zu blamieren, ist das auch deine Sache. Wenn du aber mit deinen falschen Aussagen Laien in einen Situation bringst, die potentiell gefährlich ist, finde ich das ziemlich scheisse von dir.

              --
              42
              1. Hallo m.,

                ein Minus für den Ton, nicht für den Fachinhalt.

                Rolf

                --
                sumpsi - posui - clusi
                1. Mahlzeit,

                  ein Minus für den Ton, nicht für den Fachinhalt.

                  Eine subjektive negative Bewertung aufgrund des Tones halte ich für extrem überheblich, sogar schon fast Menschenverachtend.

                  Da du nicht betroffen bist sondern dich als Zuhörer von der Seite einmischt, steigert das obigen Eindruck weiter.

                  Ich stelle mir grad in der realen Welt vor, wenn du dich da auch einmischt nur um mitzuteilen, dass dir der Ton nicht gefällt. Schätzungsweise würde jemand die mit der Hab-mich-lieb Jacke holen.

                  --
                  42
                  1. Hallo m.,

                    ein Minus für den Ton, nicht für den Fachinhalt.

                    Eine subjektive negative Bewertung aufgrund des Tones halte ich für extrem überheblich, sogar schon fast Menschenverachtend.

                    Jeder Nutzer dieses Forums, der das entsprechende Recht erworben hat, darf jederzeit jeden Beitrag völlig anonym positiv oder negativ bewerten.

                    Bis demnächst
                    Matthias

                    --
                    Rosen sind rot.
                    1. Mahlzeit,

                      Jeder Nutzer dieses Forums, der das entsprechende Recht erworben hat, darf jederzeit jeden Beitrag völlig anonym positiv oder negativ bewerten.

                      Und ich darf, aufgrund der Rechte die mir per GG und der Karta der Menschenrechte zustehen, meine Meinung dazu offen äussern.

                      Meine Meinung zum anonymen Voting: Nur was für Feiglinge die nicht zu ihrer Meinung stehen wollen. An sich ein Instrument das problemlos für anonymes Mobbing missbraucht werden kann.

                      --
                      42
                      1. @@m.

                        Meine Meinung zum anonymen Voting: Nur was für Feiglinge die nicht zu ihrer Meinung stehen wollen. An sich ein Instrument das problemlos für anonymes Mobbing missbraucht werden kann.

                        … und wird.

                        LLAP 🖖

                        --
                        „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
                      2. hallo

                        Jeder Nutzer dieses Forums, der das entsprechende Recht erworben hat, darf jederzeit jeden Beitrag völlig anonym positiv oder negativ bewerten.

                        Und ich darf, aufgrund der Rechte die mir per GG und der Karta der Menschenrechte zustehen, meine Meinung dazu offen äussern.

                        Meine Meinung zum anonymen Voting: Nur was für Feiglinge die nicht zu ihrer Meinung stehen wollen. An sich ein Instrument das problemlos für anonymes Mobbing missbraucht werden kann.

                        Ich habe dich abgewertet. Ich kann dazu stehen. Ich denke nur nicht, dass das von interesse ist.

                        Aber fühl dich ruhig Menschenverachtet oder als Mobbing-Opfer. Die Pflege der Neurose ist eines jeden eigene Aufgabe.

                        1. Mahlzeit,

                          Aber fühl dich ruhig Menschenverachtet oder als Mobbing-Opfer. Die Pflege der Neurose ist eines jeden eigene Aufgabe.

                          Schön zu sehen, dass du meine Sachen entweder nicht liest oder der Inhalt ist dir egal

                          --
                          42
                  2. Da du nicht betroffen bist sondern dich als Zuhörer von der Seite einmischt, …

                    Das ist hier etwas anderes als ein Zwiegespräch in welches sich ein Dritter einmischt. Wenn man hier postet, dann ist das eine öffentliche Rede. Die ist per se an alle, sogar potentielle und unbekannte Zuhörer bzw. Leser adressiert und also gibt's Beifall, Lob, Buhrufe oder Schweigen (für mich als "Bühnensau" die schlimmste aller Reaktionen) von allen Seiten.

                    Will man das nicht, dann ist der Podest der falsche Platz.

                    Eine subjektive negative Bewertung aufgrund des Tones halte ich für extrem überheblich, sogar schon fast Menschenverachtend.

                    Diese sollte Dir aber offensichtlich helfen, einen anderen Ton zu finden. Ich finde es z.B. gut, dass Rolf ganz klar gesagt hat, dass er in der fachlichen Aussage mit Dir übereinstimmt.

                    Aber klar, ich hab mir das "Minusgut" auch nicht eingefangen. Da kann ich das lockerer sehen. Nichtsdeszutrotz: Willst Du der Empfänger Deiner Nachrichten sein? Bedenke: Würdest Du die fachliche Aussage da überhaupt noch wahrnehmen?

                    Gerade bei negativen Aussagen ist es besonders wichtig sachlich und dem Zweck förderlich auch freundlich zu sein. Eben um die Bereitschaft des Empfängers zum Befassen mit dem Inhalt der Aussage nicht negativ zu beeinflussen.

                    1. Mahlzeit,

                      Diese sollte Dir aber offensichtlich helfen, einen anderen Ton zu finden. Ich finde es z.B. gut, dass Rolf ganz klar gesagt hat, dass er in der fachlichen Aussage mit Dir übereinstimmt.

                      Tja, damit ist wohl offensichtlich dass in einem "Fachforum" das Fachliche recht unwichtig ist, da es, wegen negativer Bewertung, eine Gewichtung bekommt die dafür sorgt, dass fachlich korrekte Beiträge nicht gefunden und/oder akzeptiert werden.

                      Naja, ich bin in der glücklichen Position, hier nichts suchen zu müssen, die, die hier nach Infos suchen, sind dadurch angearscht aber Hauptsache dem einzelnen geht es gut weil er ja jemanden zurechtweisen konnte, das ihm der Ton nicht gefällt.

                      Fazit: Jemand der Information sucht, bekommt die nur wenn sie so formuliert war, wie es der eine oder andere es gerne hätte. Gut, dass so nur wenige denken denn sonst hätten wir vermutlich nur einen geringen Teil der Info zur Verfügung, die es jetzt im Netz gibt.

                      Scheisse, so viel wollte ich gar nicht schreiben, weils eh wurscht ist. Ich weiss, ich wäre heute nicht auf dem Wissensstand wenn ich mich angepisst hätte, wenn mal jemand nen rauen Ton anschlägt. Wer sich natürlich selbst Wissen verweigern will, ist das nicht mein Problem

                      --
                      42
                      1. @@m.

                        Tja, damit ist wohl offensichtlich dass in einem "Fachforum" das Fachliche recht unwichtig ist, da es, wegen negativer Bewertung, eine Gewichtung bekommt die dafür sorgt, dass fachlich korrekte Beiträge nicht gefunden und/oder akzeptiert werden.

                        Die Bewertungsfunktion wurde noch nie nur für fachliche Bewertungen verwendet, selbst als sie mit „fachlich hilfreich/fachlich nicht hilfreich“ gekennzeichnet war.[1]

                        Der Wegfall der Beschriftung ist eine Kapitu Anpassung an die Verwendung durch die Nutzerschaft und die Einsicht, dass man diese nicht dazu erziehen kann, die Bewertungsfunktion nur fachlich zu verwenden.

                        Ich weiß nicht, ob die Bewertungen Einfluss auf die Reihenfolge der Suchergebnisse haben. (Ich lasse immer nach Datum sortieren.) Sie sollten es nicht. Wenn sie Einfluss haben, ist das ein Fehler.

                        LLAP 🖖

                        --
                        „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann

                        1. Dann fiel lange Zeit die Negativbewertung weg. Ironie der Geschichte: Mein mit Abstand am besten bewertetes Posting prangert diesen Wegfall an. ↩︎

                        1. Mahlzeit,

                          Die Bewertungsfunktion wurde noch nie nur für fachliche Bewertungen verwendet, selbst als sie mit „fachlich hilfreich/fachlich nicht hilfreich“ gekennzeichnet war.[^1]

                          Irgendwie witzig dabei ist ja, eine anonyme negative Bewertung wegen einem persönlichen Problem ist nichts anderes als ein "du bist ein Arschloch und ich mag dich nicht". Anonym per Tastenklick ist das eindeutig gedultet, in abgeschwächter Form inkl. (Nick)Name mit direkter Anrede wird es kritisiert.

                          Vielleicht sollte ich ne Sockenpuppe anlegen damit ich praktisch auch anonym bin…

                          --
                          42
                          1. @@m.

                            Irgendwie witzig dabei ist ja, eine anonyme negative Bewertung wegen einem persönlichen Problem ist nichts anderes als ein "du bist ein Arschloch und ich mag dich nicht". Anonym per Tastenklick ist das eindeutig gedultet, in abgeschwächter Form inkl. (Nick)Name mit direkter Anrede wird es kritisiert.

                            Mit einer ähnlichen Aussage hatte ich mich vor wenigen Tagen hier unbeliebt gemacht.

                            LLAP 🖖

                            --
                            „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
                            1. Mahlzeit,

                              Mit einer ähnlichen Aussage hatte ich mich vor wenigen Tagen hier unbeliebt gemacht.

                              So ist das manchmal mit der Wahrheit. Nur wenige können damit umgehen 😉

                              --
                              42
                  3. Hallo m.,

                    überheblich, menschenverachtend

                    ja, passende Begriffe.

                    Ich weiß nicht wer Du bist und welchen Stand Du hier in der Vergangenheit hattest. Das Forum zeigt mir nur deine Beitragsstatistik seit 2013. Die alten Beiträge lesen mag ich jetzt nicht. Ich weiß auch nicht welche Vergangenheit Du mit pl teilst. Offenbar warst Du vor "m." schon in einer anderen Inkarnation aktiv, sonst wüsstest Du ja nicht, was er vor 10 Jahren geschrieben hat.

                    Aber egal was war, ich finde es komplett unangemessen, wegen einer fehlerhaften Aussage mit derart unangenehmen Worten auf jemanden einzudreschen. DAS ist menschenverachtend.

                    Deswegen das Minus. Dieser Beitrag hilft niemandem.

                    Meine Meinung zum anonymen Voting: Nur was für Feiglinge die nicht zu ihrer Meinung stehen wollen.

                    Und wenn ICH ein Minus gebe, dann nicht anonym, sondern mit Begründung. Dass Du daraufhin auskeilst, menschlich attackierst und mir Missbrauch des Bewertungssystems vorwirfst, DAS ist überheblich. Bzw. unwissend. Es ist (mittlerweile) für sowas da.

                    Also ja, deine Begriffe waren passend. Nur nicht der Adressat.

                    Ich stelle mir grad in der realen Welt vor, wenn du dich da auch einmischt nur um mitzuteilen, dass dir der Ton nicht gefällt.

                    Das Forum ist nicht die reale Welt. In der realen Welt bekommst Du erstmal nonverbale Rückmeldungen, wenn Du Dich unangemessenerweise vor jemanden stellst und ihn niedermachst. Im Forum muss man dazu was schreiben.

                    Abgesehen habe ich mich nicht eingemischt. Sondern Du. Das war nämlich just ein Postingwechsel zwischen PL und mir, auf den Du deine Tirade aufgesetzt hast. Also, komm wieder 'runter. Das Forum ist kein Ventil für aufgestaute Aggression. Fachdiskussionen sind viel interessanter.

                    Rolf

                    --
                    sumpsi - posui - clusi
                    1. Mahlzeit,

                      Offenbar warst Du vor "m." schon in einer anderen Inkarnation aktiv, sonst wüsstest Du ja nicht, was er vor 10 Jahren geschrieben hat.

                      Ich glaub, da war ich als Manuel B. unterwegs., würde aber keine Wetten drauf abschliessen

                      Aber egal was war, ich finde es komplett unangemessen, wegen einer fehlerhaften Aussage mit derart unangenehmen Worten auf jemanden einzudreschen. DAS ist menschenverachtend.

                      Durchaus möglich. Ich stehe dazu, keine Menschen zu mögen.

                      Deswegen das Minus. Dieser Beitrag hilft niemandem.

                      Hab ich nicht mitbekommen, als du zum Sprecher für die gesamte Menschheit gewählt wurdest. Wann war denn das?

                      Und wenn ICH ein Minus gebe, dann nicht anonym, sondern mit Begründung. Dass Du daraufhin auskeilst, menschlich attackierst und mir Missbrauch des Bewertungssystems vorwirfst, DAS ist überheblich. Bzw. unwissend. Es ist (mittlerweile) für sowas da.

                      Ich habe dir(!) den Missbrauch des Votingssystems vorgeworfen? Wo war das denn, das entzieht sich grad meiner Kenntnis.

                      --
                      42
                      1. Hallo m.,

                        ich mach das jetzt einfach mal zu. Das wird mir zu albern.

                        Rolf

                        --
                        sumpsi - posui - clusi
      2. Mahlzeit,

        Aua! Das will man aus Sicht eines, sein Tun bedenkenden, vernünftigen und verständigen Users gerade nicht haben. Denn so könnte man versehentlich die falsche Datei verschicken.

        Weil es in einem meiner Projekte grad aktuell ist: Es gibt Anwendungsfälle, da ist genau dieses Verhalten gewünscht oder sogar nötig. Also wäre auch hier sinnvoll, erstmal die Hintergründe zu kennen bevor du das be(ver)urteilst.

        Etwas pauschal abzulehnen halte ich pauschal für falsch

        --
        42
      3. und das Form nach Dateiauswahl automatisch über AJAX abgeschickt wird

        Aua! Das will man aus Sicht eines, sein Tun bedenkenden, vernünftigen und verständigen Users gerade nicht haben. Denn so könnte man versehentlich die falsche Datei verschicken.

        Der Einwand ist berechtigt. Zumal eine moderne FileAPI eine Vorschau im Browser ermöglicht, so daß der Anwender vor dem Absenden seine Dateiauswahl noch einmal prüfen kann. Z.B. in Form von Thumbnails und natürlich auch +Dateiname sowie Dateigöße.

        MfG

  3. Malzeiot.

    Ich möchte einen Upload verwirklichen.

    <form action="?save=pictures" method="post" enctype="multipart/form-data">
    <input type="hidden" name="id" value="<?php echo $id; ?>">
        <input type="file" name="datei" id="fileToUpload" accept="image/*">
        <input type="submit" value="Bild speichern" name="submit">
    </form>
    

    Soweit so gut. Ich möchte aber nur eine Link haben, ich stelle mir das so vor

    <a href="#" >Bild Laden</a>

    Nein das wird nichts mit dem Link. Was Du jedoch machen kannst: setze das Uploadfield auf display:none und nutze das Label Element für Deinen Text Bild Laden So in etwa

    <label> Bild Laden
        <input type="file" ...>
    </label>
    

    Dann ist zumindest dieser hässliche Button weg. Das <label> brauchst Du sowieso!

    MfG

    1. Nein das wird nichts mit dem Link. Was Du jedoch machen kannst: setze das Uploadfield auf display:none

      Dadurch lässt sich das Bedienelement nicht mehr per Tastatur bedienen.

      1. Nein das wird nichts mit dem Link. Was Du jedoch machen kannst: setze das Uploadfield auf display:none

        Dadurch lässt sich das Bedienelement nicht mehr per Tastatur bedienen.

        Die Empfehlung ist von MDN!

        1. Mahlzeit,

          Die Empfehlung ist von MDN!

          Schlechter Browser, schlechte Empfehlungen… Ja, Mozilla passt recht gut zu dir.

          --
          42
          1. @@m.

            Die Empfehlung ist von MDN!

            Schlechter Browser, schlechte Empfehlungen… Ja, Mozilla passt recht gut zu dir.

            Ja, diese Empfehlung in MDN ist schlecht.

            MDN jetzt aber generell „schlechte Empfehlungen“ zu unterstellen, ist so auf dem Nievau von pls der „Link ist nicht empfehlenswert“, weil er seinen Browser crasht.

            Firefox schlechter Browser? Hä, wie bitte?

            Mich nerven die ganzen Blink/WebKit-Bugs. Außerdem will ich keinen Browser, der mich ausschnüffelt und alles an Google meldet.

            LLAP 🖖

            --
            „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
            1. Mahlzeit,

              MDN jetzt aber generell „schlechte Empfehlungen“ zu unterstellen, ist so auf dem Nievau von pls der „Link ist nicht empfehlenswert“, weil er seinen Browser crasht.

              Stellt sich nur die Frage, wer dem MDN generell schlechte Empfehlungen unterstellt. Da das deine Worte sind, gehe ich davon aus, es sind deine Gedanken.

              Firefox schlechter Browser? Hä, wie bitte?

              Ja, FF ist der schlechteste Browser den ich je benutzt habe

              Mich nerven die ganzen Blink/WebKit-Bugs. Außerdem will ich keinen Browser, der mich ausschnüffelt und alles an Google meldet.

              Ui, ein Propagandaopfer :) Faszinierend, wie weit immer noch das Scheuklappendenken verbreitet ist, dass es nur diese beiden Alternativen gibt.

              Ansonsten werden an Google exakt die gleichen Daten gesendet wie an Mozilla, wenn die entsprechende Option gewählt wurde. Der Unterschied dabei ist nur, FF nervt mich ständig, ich soll die Datenübertragung doch aktivieren, hat mein Chrome noch nie gemacht und Opera auch nicht.

              --
              42
            2. Hallo Gunnar,

              Firefox schlechter Browser? Hä, wie bitte?

              So ist es aber. Du hast mich doch zuletzt gefragt was mir daran nicht gefällt

              Außerdem will ich keinen Browser, der mich ausschnüffelt und alles an Google meldet.

              … aber meine Antwort nicht gelesen bzw. zumindest nicht selbst drauf geantwortet. Selbst das Ausschnüffeln für Google habe ich dargelegt.

              Gruss
              Henry

              --
              Meine Meinung zu DSGVO & Co:
              „Principiis obsta. Sero medicina parata, cum mala per longas convaluere moras.“
        2. @@pl

          Nein das wird nichts mit dem Link. Was Du jedoch machen kannst: setze das Uploadfield auf display:none

          Dadurch lässt sich das Bedienelement nicht mehr per Tastatur bedienen.

          Die Empfehlung ist von MDN!

          Jetzt nicht mehr. Im englischen Original und in der deutschen Übersetzung berichtigt.

          Und dabei gleich noch einen Bug in Firebox gefunden.

          LLAP 🖖

          --
          „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
          1. @Gunnar Bittersmann

            Nein das wird nichts mit dem Link. Was Du jedoch machen kannst: setze das Uploadfield auf display:none

            Dadurch lässt sich das Bedienelement nicht mehr per Tastatur bedienen.

            Die Empfehlung ist von MDN!

            Jetzt nicht mehr. Im englischen Original und in der deutschen Übersetzung berichtigt.

            Und dabei gleich noch einen Bug in Firebox gefunden.

            Na das ist ja 'n Ding. Der Michi würde sich bestimmt freuen, aber der ist ja längst über alle Berge. Es ist überhaupt schade daß man hier kein Feedback mehr bekommt hinsichtlich Tipps und Erfahrungsaustausch im Forum, das war vor 20 Jahren anders.

            Von daher danke ich Dir für die Reaktion beim MDN und für die Info zu Deinem Bugreport.

            In Zukunft werde ich mir jedoch überlegen, Empfehlungen dritter hier weiterzugeben. Daß eine Beschriftung mit <label> bei Inputfeldern dieses Typs hinsichtlich Tastaturerreichbarkeit nicht funktioniert konnte schließlich keiner wissen.

            MfG

  4. @@Michi

        <input type="file" name="datei" id="fileToUpload" accept="image/*">
    

    Dem Eingabefeld fehlt eine Beschriftung.

        <input type="submit" value="Bild speichern" name="submit">
    

    Ein Button sollte ein button sein:

        <button type="submit" name="submit">Bild speichern</button>
    

    Vorteile:

    • Beschriftung als Elementinhalt, nicht als Attribut
    • besser lesbarer Quelltext

    Nachteile: keine

    
    > <a href="#" >Bild Laden</a>
    
    

    href="#" (Sprung zum Seitenanfang) ist ein sicheres Zeichen, dass das kein a-Element, sondern ein button sein sollte. Für Nutzer, die per Tastatur navigieren, und für Screenreader-Nutzer macht das einen Unterschied.

    Für Aktionen auf einer Seite sind Buttons richtig und a falsch. a-Elemente sind für Links zu anderen Seiten (bzw. anderen Stellen auf der Seite).

    LLAP 🖖

    --
    „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann