Verena: Hintergrundbild ersetzten durch User

Guten Tag,

auf meinem Projekte möchte ich dem User die Möglichkeit geben, selber einen Hintergrund einzufügen. Per Default ist es so definiert:

  
body {  
    background-color: #fff;  
	background-color: #efefef;  
	background: url(../hintergrund/seamless-cutlery-pattern-979.png);  
	font-family:Verdana, Geneva, sans-serif;  
	font-size:12px;  
}  

dieser Code befindet sich in einer externen CSS Datei! Der User hat Intern eine Möglichkeit ein Bild hochzuladen.

Meine Frage ist nun, wie bekomme ich das Hintergrundbild vom jeweiligen User in die CSS Datei? Ich kann doch in meiner CSS kein PHP einfügen oder?

Gruß
Verena

  1. Om nah hoo pez nyeetz, Verena!

    Meine Frage ist nun, wie bekomme ich das Hintergrundbild vom jeweiligen User in die CSS Datei? Ich kann doch in meiner CSS kein PHP einfügen oder?

    Du kannst die CSS-Ressource durch PHP erzeugen bzw. vervollständigen lassen.

    body {  
      font: 1em sans-serif;  
      background-image: [code lang=php]<?=pfad_zum_bild?>
    ~~~;  
    }[/code]  
      
    Dazu muss natürlich der PHP-Interpreter auch Dateien mit der Endung css parsen oder die CSS-Ressource die Endung PHP bekommen.  
      
    Matthias
    
    -- 
    Der Unterschied zwischen Java und JavaScript ist größer als der zwischen [äh und ähnlich](http://selfhtml.apsel-mv.de/java-javascript/index.php?buchstabe=%C3%84#%C3%A4h).  
    ![](http://www.billiger-im-urlaub.de/kreis_sw.gif)  
    
    
  2. Hallo

    Meine Frage ist nun, wie bekomme ich das Hintergrundbild vom jeweiligen User in die CSS Datei? Ich kann doch in meiner CSS kein PHP einfügen oder?

    Natürlich kann in der auszuliefernden CSS-Datei kein PHP stehen. Du kannst aber das CSS mit PHP generieren. Bei jedem Aufruf (jenseits des cachens) den PHP-Interpreter für die CSS-Datei anzuschmeißen und dabei die für den jeweiligen Benutzer zutreffenden Regeln heraus zu suchen, ist aber auch nicht optimal.

    Du kannst in den Dokumentkopf die entsprechende CSS-Regel dynamisch einbinden. Das müsste dann aber ebenfalls jedesmal stattfinden. Auch wenn das weniger Rechenzeit brauchen sollte, wie das permanente generieren der CSS-Datei ist es doch ebensowenig optimal.

    Du kannst für den Benutzer, der das haben will, einmalig eine zusätzliche CSS-Datei mit eben dieser Regel erzeugen, die im Dateisytem abgelegt wird. Diese Datei wird dann zusätzlich zum allgemeinen Stylesheet vom Dokument aufgerufen. Damit bleibt nur noch das benutzerabhängige dynamische Einfügen des Link-Elements übrig.

    Vielleicht hat ja jemand eine Idee, wie das noch optimiert werden kann.

    Tschö, Auge

    --
    Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
    Terry Pratchett, "Wachen! Wachen!"
    ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
    Veranstaltungsdatenbank Vdb 0.3
    1. Hallo!

      Vielleicht hat ja jemand eine Idee, wie das noch optimiert werden kann.

      • Cookie und Javascript
      • User Stylesheet

      vielen mir jetzt "spontan" noch so prinzipiell dazu ein.

      Und wie sieht es eigentlich generell dabei mit der Sicherheit aus?
      Besteht da nicht grundsätzlich die Gefahr, dass die User Images u.U. auch "Schadcode" beinhalten könnten?

      Ob und inwieweit der bei der reinen Verwendung als Background-Image dann zum Tragen käme, entzieht sich meinem Kenntnisstand.

      Gruß Gunther

      1. Hallo

        Vielleicht hat ja jemand eine Idee, wie das noch optimiert werden kann.

        • Cookie und Javascript
        • User Stylesheet

        Zumindest letzteres wird mit großer Wahrscheinlichkeit auch serverseitig aufgerufen. Ansonsten sind wir nämlich hintenrum bei deiner ersten Idee.

        Und wie sieht es eigentlich generell dabei mit der Sicherheit aus?
        Besteht da nicht grundsätzlich die Gefahr, dass die User Images u.U. auch "Schadcode" beinhalten könnten?

        Grundsätzlich ja. Dass Bilder Schadcode enthalten können, ist nicht neu. Dieses Problem hätte aber auch dieses Forum. User-CSS, egal ob hier auf dem Server gespeichert oder von einem anderen Server aufgerufen, ist hier möglich. Was skriptseitig gegen den Versuch Schadcode einzuschleusen getan werden kann, entzieht sich meiner Kenntnis.

        Man kann bei einer vom eigenen Server aufgerufenen CSS-Datei natürlich argumentieren, dass evtl. Schadcode dort liegt und nur im eigenen Browser zum Tragen kommt. Bilder werden *hier* zwangsläufig auch von einem Fremdserver geladen. Verena möchte hingegen auf ihren Webspace hochgeladene Bilder zulassen.

        Ob und inwieweit der bei der reinen Verwendung als Background-Image dann zum Tragen käme, entzieht sich meinem Kenntnisstand.

        Da bin ich keinen Deut wissender als du.

        Tschö, Auge

        --
        Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
        Terry Pratchett, "Wachen! Wachen!"
        ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
        Veranstaltungsdatenbank Vdb 0.3
        1. Hallo,

          Man kann bei einer vom eigenen Server aufgerufenen CSS-Datei natürlich argumentieren, dass evtl. Schadcode dort liegt und nur im eigenen Browser zum Tragen kommt. Bilder werden *hier* zwangsläufig auch von einem Fremdserver geladen. Verena möchte hingegen auf ihren Webspace hochgeladene Bilder zulassen.

          genau, ein User loggt sich ein, sieht dann ein Bereich "Design" dort gibt es ein Upload Feld, das Bild wird hochgeladen und mein Default Wert sollte überschrieben werden.

          Gruß
          Verena

          1. Hallo

            Bilder werden *hier* zwangsläufig auch von einem Fremdserver geladen. Verena möchte hingegen auf ihren Webspace hochgeladene Bilder zulassen.

            genau, ein User loggt sich ein, sieht dann ein Bereich "Design" dort gibt es ein Upload Feld, das Bild wird hochgeladen und mein Default Wert sollte überschrieben werden.

            Warum das Überschreiben keine so gute Idee ist, hoffe ich verständlich dargelegt zu haben. Grundsätzlich ist dein Ansinnen realisierbar, du musst dich nur für einen der beschriebenen Wege entscheiden. Vielleicht kommen ja noch weitere Ideen, wie das realisierbar ist.

            Tschö, Auge

            --
            Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
            Terry Pratchett, "Wachen! Wachen!"
            ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
            Veranstaltungsdatenbank Vdb 0.3
  3. Hello,

    body {
        background-color: #fff;
    background-color: #efefef;

    background: url(http://example.org/hintergrund.php);

    font-family:Verdana, Geneva, sans-serif;
    font-size:12px;
    }

      
    
    > dieser Code befindet sich in einer externen CSS Datei! Der User hat Intern eine Möglichkeit ein Bild hochzuladen.  
      
    Wenn man nichts dagegen hat, dass Andere sehen dürfen, dass da ein Script angestoßen wird, dann mach es so, wie oben gezeigt.  
      
    Das Script schaut dann nach "is\_logged()", bzw. "get\_user-id()" oder wie auch immer Du das nennst, guckt in die Datenbank, welches Bild der User hochgeladen hat und liefert es aus. Wenn der User nur ein Bild hochladen kann, kann man sich die Datenbank an dieser Stelle auch schenken, dann kann man nur keine individuellen Bildnamen mit ausgeben. (Siehe Thread von Hawkmeister, welche Probleme das gibt!)  
      
    Dabei sollte das Bild in einem nicht direkt per http/s zugänglichen Bereich gespeichert werden.  
    Das Script sollte Caching unterstützen.  
      
    Wenn die user\_id === 0 ist, also der Benutzer nicht angemeldet ist, wird das Standardbild 0.png ausgeliefert.  
      
    Lies Dir bitte auch den (angefangenen) Artikel im Wiki durch. Uploadscripte verusachen fast immer schwere Sicherheitslücken!  
      
    <http://wiki.selfhtml.org/wiki/Artikel:PHP/File_Upload>  
      
    Ein Script zum Bild herunterladen werde ich dort sofort einfügen.  
      
      
      
      
      
      
      
    Liebe Grüße aus dem schönen Oberharz  
      
      
    Tom vom Berg  
    ![](http://selfhtml.bitworks.de/Virencheck.gif)  
      
    
    -- 
     ☻\_  
    /▌  
    / \ Nur selber lernen macht schlau  
    <http://bikers-lodge.com>
    
  4. Hi,

    body {

    background-color: #fff;
    background-color: #efefef;
    background: url(../hintergrund/seamless-cutlery-pattern-979.png);
    font-family:Verdana, Geneva, sans-serif;
    font-size:12px;
    }

      
    nicht zur eignetlichen Frage, aber zum gezeigten CSS-Schnipsel habe ich ein, zwei Anmerkungen.  
      
    1\. Zweimal direkt hintereinander die Eigenschaft background-color zu setzen, ist sinnfrei - die zweite Angabe wird die erste sofort wieder überschreiben, #fff kommt also nicht zur Anwendung.  
      
    2\. Die Sammeleigenschaft background setzt zunächst \*alle\* background-bezogenen Angaben auf ihre Defaultwerte zurück. Das heißt unter anderem, background-color wird wieder auf den Defaultwert transparent gesetzt, und deine Farbe #efefef ist ebenfalls für die Katz'.  
    Vermutlich willst du hier gezielt background-image verwenden.  
      
    So long,  
     Martin  
    
    -- 
    Eifersucht ist so alt wie die Menschheit: Als Adam einmal spät heimkam, zählte Eva sofort seine Rippen.  
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    
    1. Hallo,

      1. Die Sammeleigenschaft background setzt zunächst *alle* background-bezogenen Angaben auf ihre Defaultwerte zurück. Das heißt unter anderem, background-color wird wieder auf den Defaultwert transparent gesetzt, und deine Farbe #efefef ist ebenfalls für die Katz'.
        Vermutlich willst du hier gezielt background-image verwenden.

      Danke dir, hab es nun verbessert!

      body {  
      	background-color: #efefef;  
      	background-image: url(../hintergrund/seamless-cutlery-pattern-979.png);  
      	font-family:Verdana, Geneva, sans-serif;  
      	font-size:12px;  
      }
      

      Gruß
      Verena

  5. Hallo Verena!

    auf meinem Projekte möchte ich dem User die Möglichkeit geben, selber einen Hintergrund einzufügen.

    Meine Frage ist nun, ...

    Die Frage, die du dir stellen solltest, bzw. die ich mir an deiner Stelle stellen würde lautet:
    Lohnt sich der Aufwand im Verhältnis zum Nutzen/ Ergebnis?

    Das hängt natürlich sicherlich auch von deinem "Zielpublikum" und der Art von Website ab. Zu beidem hast du uns ja bisher zumindest nichts verraten.

    Vielleicht "reicht" es ja auch, wenn du den Usern anbietest, dir von ihnen gewünschte Hintergrundbilder zu mailen und diese dann allen Usern zur Auswahl anbietest?

    Erstens hätten dann alle etwas davon, und du zweitens nicht ggf. eine "Sicherheitslücke", bzw. den Aufwand, eine solche zu vermeiden.

    Gruß Gunther

    1. Hi,

      Vielleicht "reicht" es ja auch, wenn du den Usern anbietest, dir von ihnen gewünschte Hintergrundbilder zu mailen und diese dann allen Usern zur Auswahl anbietest?

      Mit dem Risiko, Bildmaterial zu veröffentlichen, für das evtl. keine ausreichenden Rechte vorliegen.

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      O o ostern ...
      Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
      1. Hi!

        Vielleicht "reicht" es ja auch, wenn du den Usern anbietest, dir von ihnen gewünschte Hintergrundbilder zu mailen und diese dann allen Usern zur Auswahl anbietest?

        Mit dem Risiko, Bildmaterial zu veröffentlichen, für das evtl. keine ausreichenden Rechte vorliegen.

        Stimmt! Das ist natürlich ein gewichtiges Argument!
        Somit ziehe ich meinen Vorschlag zurück.

        Gruß Gunther

  6. Hallo,

    ist es Möglich, dass ich diese Zeile Code:

      
    body {  
            background: url(../hintergrund/seamless-cutlery-pattern-979.png);  
    }  
    
    

    direkt in die PHP Datei zu schreiben, da dieser nach der CSS Datei geladen wird, wird die Eigenschaft doch überschrieben?

    Gruß
    Verena

    1. Om nah hoo pez nyeetz, Verena!

      ist es Möglich, dass ich diese Zeile Code:

      direkt in die PHP Datei zu schreiben, da dieser nach der CSS Datei geladen wird, wird die Eigenschaft doch überschrieben?

      Das ist keine Frage der Reihenfolge des Ladens, sondern eine Frage der Reihenfolge der CSS-Angaben.

      Du musst das style-Element nach dem link-Element in den Kopf schreiben. Das ist das, was Auge schrieb. So kann es auch hier in diesem Forum gehandhabt werden.

      Matthias

      --
      Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Don und Donald Duck.

      1. Hallo,

        Du musst das style-Element nach dem link-Element in den Kopf schreiben. Das ist das, was Auge schrieb. So kann es auch hier in diesem Forum gehandhabt werden.

        aber dann heißt es gleich wieder, dass CSS Eigenschaften nichts im HTML Dokument verloren haben und dieser in eine externe Datei verlegt werden müssen :o

        Gruß
        Verena

        1. Om nah hoo pez nyeetz, Verena!

          aber dann heißt es gleich wieder, dass CSS Eigenschaften nichts im HTML Dokument verloren haben und dieser in eine externe Datei verlegt werden müssen :o

          wenn es gewichtige Gründe gibt, spricht nichts gegen style-Elemente bzw. -Attribute. http://brückentage.info/2014/feriendichte-2014.php?monat=04

          Matthias

          --
          Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Dachs und Dachstuhl.

          1. Hallo

            aber dann heißt es gleich wieder, dass CSS Eigenschaften nichts im HTML Dokument verloren haben und dieser in eine externe Datei verlegt werden müssen :o

            wenn es gewichtige Gründe gibt, spricht nichts gegen style-Elemente bzw. -Attribute.

            … oder ein Link-Element.

            Tschö, Auge

            --
            Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
            Terry Pratchett, "Wachen! Wachen!"
            ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
            Veranstaltungsdatenbank Vdb 0.3
        2. Hello,

          aber dann heißt es gleich wieder, dass CSS Eigenschaften nichts im HTML Dokument verloren haben und dieser in eine externe Datei verlegt werden müssen :o

          Stimmt ja auch! :-P

          Liebe Grüße aus dem schönen Oberharz

          Tom vom Berg

          --
           ☻_
          /▌
          / \ Nur selber lernen macht schlau
          http://bikers-lodge.com
    2. Hello,

      ist es Möglich, dass ich diese Zeile Code:

      body {
              background: url(../hintergrund/seamless-cutlery-pattern-979.png);
      }

        
      
      > direkt in die PHP Datei zu schreiben, da dieser nach der CSS Datei geladen wird, wird die Eigenschaft doch überschrieben?  
        
      Du solltest mal sortieren:  
        
      Request mit URL auf dem Client besorgt ein Dokument vom Server  
      Das ist erstmal eine HTML-Seite. Diese enthält weitere URLs für (sekundäre) Requests, z.B. für  
      - CSS  
      - Images  
      - iFrames  
      - ...  
        
      Diese werden wieder vom Server angefordert und am Client dorthin geladen, wo Du dies in der ersten HTML-Datei angewiesen hast.  
        
        
      Wenn Du also nun im Client-Dokument ein  
        
          background: url(/hintergrund.php);  
        
      stehen hast, dann wird diese Ressource vom Server mit der Erwartung angefordert, dass es eine Image-URL ist. Wie die heißt, interesiert den Browser nicht, aber den Server.  
        
      In der Standardeinstellung wird nämlich diese "hintergrund.php" von Deinem PHP-Parser verarbeitet. Das geht im Prinzip auch mit anderen Files (z.b. "/hintergrund.gif"), aber wir wollen es ja erstmal einfach halten.  
        
      Du musst jetzt nur dafür sorgen, dass die Ressource "/hintergrund.php" keine eigenständige HTML-Seite ausliefert, sondern ein Bild. Wie das geht, habe ich Dir schon geschrieben.  
        
      <https://forum.selfhtml.org/?t=217079&m=1490292>  
      <http://wiki.selfhtml.org/wiki/Artikel:PHP/File_Upload> -> Abschnitt 7  
        
        
      Wenn Du nicht 1000de von Requests pro Stunde hast und sowieso PHP benutzt, ist das die eleganteste Lösung.  
        
      User mit der ID 1  bekommt das Bild aus /bilder/hintergund/1.gif  
      User mit der ID 20 bekommt das Bild aus /bilder/hintergund/20.gif  
      ...  
      User ohne Anmeldung (mit der ID 0) bekommt das Bild aus /bilder/hintergund/0.gif  
        
      Leichter geht es nicht!  
        
      Und beachte meine Hinweise aus dem Artikel für die Upload-Funktion, sonst kannst Du deinen Server gleich auf die Straße stellen.  
        
        
      Viel Spaß  
        
        
        
      Liebe Grüße aus dem schönen Oberharz  
        
        
      Tom vom Berg  
      ![](http://selfhtml.bitworks.de/Virencheck.gif)  
        
      
      -- 
       ☻\_  
      /▌  
      / \ Nur selber lernen macht schlau  
      <http://bikers-lodge.com>
      
      1. Hello,

        kleiner Nachtrag:

        Der Pfad gilt für das DATEISYSTEM des Servers und nicht für die DOCUMENT_ROOT.
        Sind dir diese Begriffe klar?

        Gehen wir mal davon aus, dass der Server für Deine Domain so eingerichtet ist:

          
        /var/www/example.org/data/  
        /var/www/example.org/htdocs/  
        /var/www/example.org/logs/  
        /var/www/example.org/tmp/  
        /var/www/example.org/sessions/  
          
        
        

        Dann sollten die geschützten Dateien in

        /var/www/example.org/data/

        liegen. Die Bilder also z.B. in

        /var/www/example.org/data/hintergrundbilder/0.gif
        /var/www/example.org/data/hintergrundbilder/1.gif
        ...

        mittels

        $datadir = realpath($_SERVER['DOCUMENT_ROOT'].'/data/');

        kannst Du den Pfad innerhalb des Scriptes ermitteln. Er ist von außen (per HTTP/s) nicht zugänglich. das ist der Sinn der Sache.

        Dateien, die mit der Funktion ausgeliefert werden, werden auch nicht geparst von PHP.

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
         ☻_
        /▌
        / \ Nur selber lernen macht schlau
        http://bikers-lodge.com
        1. Hallo,

          kannst Du den Pfad innerhalb des Scriptes ermitteln. Er ist von außen (per HTTP/s) nicht zugänglich. das ist der Sinn der Sache.

          Oh das hört sich aber sehr gut an, sprich übere http://www.xxxxx kann das Bild NICHT aufgerufen aber per Script Ja?!

          Meine Daten sehen so aus:

          /backups/
          /html/
          /logs/
          /files/

          im Ordner /html gibt es ein Unterordneter mit /tagebuch, darin sind meine Daten die zu diesem Projekt gehören, diese sehen so aus:

          /media
          /js
          /include

          Gruß
          Verena

          1. Hello,

            kannst Du den Pfad innerhalb des Scriptes ermitteln. Er ist von außen (per HTTP/s) nicht zugänglich. das ist der Sinn der Sache.

            Oh das hört sich aber sehr gut an, sprich übere http://www.xxxxx kann das Bild NICHT aufgerufen aber per Script Ja?!

            Ja, denn die Bilder sollen ja bei Dir dann z.B. unter

              
            /files/backgrounds/0.gif  
              
            
            

            gespeichert werden.

            Du kannst ja mal testweise ein Bild (0.gif) dort speichern und versuchen, es mit dem Browser aufzurufen. Und dann kannst Du unter

              
            /html/background.php  
              
            
            

            ein Script speichern, das im wesentlichen Nur die Funktion enthält, die du im Wiki findest. Diese rufst Du dann auf:

              
            <?php  ### background.php ### Bilder ausliefern ### utf-8 ### ÄÖÜäöü  
              
            define ('CACHE_MUST_REVALIDATE', 604800);   ## Zeit, nach der der Cache die Verifikation  
              
            $userid = 0;  
            $bgpath = realpath($_SERVER['DOCUMENT_ROOT'].'/files/backgrounds/');  
              
            #---------------------------------------------------------------------------------------  
            function put_image($filename)  
            {  
                ## Funktion einfügen!  
            }  
            #---------------------------------------------------------------------------------------  
              
            if (put_image($bgpath.$userid.'.gif')) exit (0);  
              
            ?>  
              
            
            

            Ich hoffe, dass ich keinen Fehler reingebaut habe :-)

            Meine Daten sehen so aus:

            /backups/
            /html/
            /logs/
            /files/

            im Ordner /html gibt es ein Unterordneter mit /tagebuch, darin sind meine Daten die zu diesem Projekt gehören, diese sehen so aus:

            /media
            /js
            /include

            Wenn in /include/ php-Files stehen und keine Files, die direkt über HTTP aufgerufen werden können, dann gehört das nach

            /files/include/

            Freu Dich, dass Du so eine saubere Einrichtung bekommen hast.
            Läuft PHP bei Dir als FastCGI oder CGI? Dann ists vermutlich gut so.
            Wenn es als Modul laufen sollte, sollten auch noch die Verzeichnisse

            /tmp/
            /sessions/

            vorhanden sein und die Pfade darauf richtig eingestellt werden. Das hat aber nur Sinn, wenn der Provider das dann für alle User genauso macht.

            Liebe Grüße aus dem schönen Oberharz

            Tom vom Berg

            --
             ☻_
            /▌
            / \ Nur selber lernen macht schlau
            http://bikers-lodge.com
            1. Hello,

              irgend einen Fehler gibt's immer! Realpath() arbeitet nicht POSUX-konform und beendet den Pfad nicht mit einem '/'. Ganz im Gegenteil, der wird sogar abgeschnitten. Solche kleinen Fehler können einen dann zum Wahnsinn treiben ;-O

                
              <?php  ### background.php ### Bilder ausliefern ### utf-8 ### ÄÖÜäöü  
                
              define ('CACHE_MUST_REVALIDATE', 604800);   ## Zeit, nach der der Cache die Verifikation  
                
              $userid = 0;  
              $bgpath = realpath($_SERVER['DOCUMENT_ROOT'].'/files/backgrounds');  
                
              ## hier nützt der Slash nichts, da er beseitigt wird            ^  
                
              #---------------------------------------------------------------------------------------  
              function put_image($filename)  
              {  
                  ## Funktion einfügen!  
              }  
              #---------------------------------------------------------------------------------------  
                
              if (put_image($bgpath.'/'.$userid.'.gif')) exit (0);  
              ## also hier           ^ den Slash einfügen  
                
                
              ?>  
                
              
              

              Liebe Grüße aus dem schönen Oberharz

              Tom vom Berg

              --
               ☻_
              /▌
              / \ Nur selber lernen macht schlau
              http://bikers-lodge.com
      2. Hallo Tom,

        danke für deine  Antwort,  das ist wirklich eine gute Idee mit den IDs aber dann hat jeder die Möglichkeit die IDs auszulesen und zu sehen was die anderen so an Bildern hochgeladen haben und was ist, wenn ein User mehrere Bilder hochladen möchte? Für die Darstellung im Hintergrund kann man das ja mit CSS3 darstellen.

        Gruß
        Verena

        1. Hello,

          danke für deine  Antwort,  das ist wirklich eine gute Idee mit den IDs aber dann hat jeder die Möglichkeit die IDs auszulesen und zu sehen was die anderen so an Bildern hochgeladen haben und was ist, wenn ein User mehrere Bilder hochladen möchte? Für die Darstellung im Hintergrund kann man das ja mit CSS3 darstellen.

          Nein. Du hast nicht ordentlich genug gelesen!

          Liebe Grüße aus dem schönen Oberharz

          Tom vom Berg

          --
           ☻_
          /▌
          / \ Nur selber lernen macht schlau
          http://bikers-lodge.com
        2. Om nah hoo pez nyeetz, Verena!

          danke für deine  Antwort,  das ist wirklich eine gute Idee mit den IDs aber dann hat jeder die Möglichkeit die IDs auszulesen und zu sehen was die anderen so an Bildern hochgeladen haben

          Nein, weil die User ID a) nicht kennen und b) sie nicht ändern können.

          und was ist, wenn ein User mehrere Bilder hochladen möchte? Für die Darstellung im Hintergrund kann man das ja mit CSS3 darstellen.

          mehrere Bilder bekommen eine forlaufende ID 1-1.gif.

          Matthias

          --
          Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Pi und Pionier.

          1. Hallo

            und was ist, wenn ein User mehrere Bilder hochladen möchte? Für die Darstellung im Hintergrund kann man das ja mit CSS3 darstellen.

            mehrere Bilder bekommen eine forlaufende ID 1-1.gif.

            Wenn es grundsätzlich möglich sein soll, merere Bilder pro Nutzer anzulegen, sollte, der Einheitlichkeit wegen, schon das erste Bild diesem Schema folgen. Nicht, dass ein Jahr später, wenn keiner mehr daran denkt, Fragen nach dem unterschiedlichen Namen der Dateien aufkommen.

            Tschö, Auge

            --
            Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
            Terry Pratchett, "Wachen! Wachen!"
            ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
            Veranstaltungsdatenbank Vdb 0.3
            1. Hello,

              und was ist, wenn ein User mehrere Bilder hochladen möchte? Für die Darstellung im Hintergrund kann man das ja mit CSS3 darstellen.

              mehrere Bilder bekommen eine forlaufende ID 1-1.gif.

              Wenn es grundsätzlich möglich sein soll, merere Bilder pro Nutzer anzulegen, sollte, der Einheitlichkeit wegen, schon das erste Bild diesem Schema folgen. Nicht, dass ein Jahr später, wenn keiner mehr daran denkt, Fragen nach dem unterschiedlichen Namen der Dateien aufkommen.

              Ich meine, dass man dann gleich eine Transformationstabelle zwischenschalten sollte, also vermutlich eine Datenbank benutzten. Das verhindert dann auch automatisch, dass jemand eine .htaccess ins Bilderverzeichnis lädt, wobei die ja nur innerhalb der Document-Root Wirksamkeit hätte.

              Beispiel: Die hieße dann in der DB-Tabelle ".htaccess" und hätte die ID==207 und im Verzeichnis hieße sie eben 207

              Und wenn man es richtig macht, kommt sie dort sowieso gar nicht erst an, weil ja nur Bilder akzeptiert werden :-P

              Liebe Grüße aus dem schönen Oberharz

              Tom vom Berg

              --
               ☻_
              /▌
              / \ Nur selber lernen macht schlau
              http://bikers-lodge.com
              1. Hallo

                Und wenn man es richtig macht, kommt sie dort sowieso gar nicht erst an, weil ja nur Bilder akzeptiert werden :-P

                Es wäre schon hilfreich, den hochgeladenen Inhalt auf sienen Typ zu prüfen. Zumal das bei Bildern mit getimagesize ($return[2]) im Handumdrehen geht.

                Tschö, Auge

                --
                Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
                Terry Pratchett, "Wachen! Wachen!"
                ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
                Veranstaltungsdatenbank Vdb 0.3
                1. Hello,

                  Und wenn man es richtig macht, kommt sie dort sowieso gar nicht erst an, weil ja nur Bilder akzeptiert werden :-P

                  Es wäre schon hilfreich, den hochgeladenen Inhalt auf sienen Typ zu prüfen. Zumal das bei Bildern mit getimagesize ($return[2]) im Handumdrehen geht.

                  Und bitte den Namen (die Endung) auch prüfen. Apache und PHP sind da empfindlich.

                  Bei Windows als Zielsystem gibt es noch mehr Schweinereien. Linux ist da schon etwas stabiler.

                  Aufgrund des anderen Threads https://forum.selfhtml.org/?t=217033&m=1489817 wird das Thema "Upload" uns sowieso noch eine Weile verfolgen.

                  Die Themen "Upload" und "Download" gehören eben eng zusammen als Gesamtkustwerk.
                  Ich bin gespannt, ob Verena das gebacken bekommt mit dem Gesamtkustwerk.

                  Liebe Grüße aus dem schönen Oberharz

                  Tom vom Berg

                  --
                   ☻_
                  /▌
                  / \ Nur selber lernen macht schlau
                  http://bikers-lodge.com