Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

Hintergrund Bild aus Node field in page.tpl Sicherheits Risiko?

Eingetragen von patrici (107)
am 13.12.2014 - 20:05 Uhr in
  • Themes & Theming
  • Drupal 7.x

Hallo,

Ich versuche derzeit einen DIV mit einen Hintergrundbild zu bestücken. Dazu habe ich folgendes in der page.tpl datei eingefügt:

<?php if ($page['bannerimg']): ?>

  <?php $banner = token_replace('[node:field-fan-art-url]', array('node' => $node)); ?>

<div id="banner" style="background-image: url("<?php print $banner; ?>");">

<?php endif; ?>

    <div class="wrap clearfix">



    <?php if ($page['slider']): ?>

      <div id="slider">

        <?php print render($page['slider']); ?>

      </div> <!-- /#slider -->

    <?php endif; ?>

   

    <?php if ($page['headlines']): ?>

      <div id="headlines">

        <?php print render($page['headlines']); ?>

      </div> <!-- /#headlines -->

    <?php endif; ?>

  </div></div><!-- /#spotlight -->


<?php endif; ?>

<?php if ($page['bannerimg']): ?>
</div>
<?php endif; ?>

field-fan-art-url ist eine externe URL die auch von Nutzern geändert werden kann.

Mal davon abgesehen das der Code so nicht funktioniert weil token_replace die / entfernt frage ich mich ob das ganze so überhaupt sicher sein kann?
Falls es nicht sicher ist habt ihr Vorschläge wie ich es sonnst lösen könnte?

‹ Theme und Grid system Basis Theme global zur Verfügung stellen (selbstaktualisierend) ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Das Konstrukt ist rechtlich zweifelhaft

Eingetragen von ronald (3857)
am 14.12.2014 - 12:55 Uhr

Du trägst die Verantwortung für die Darstellungen auf deiner Website, verlinkst aber auf Bilder, die außerhalb deines Einflußbereichs sind.

Ich gehe mal davon aus, dass dies wirklich nur Bilder sind, deren Einfügung du erlaubst.

Lässt du zu, dass diese Bilder mit einem Klickziel verbunden werden können, wird es nochmals schwieriger, dann du dann die Kontrolle endgültig verlierst.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat:Lässt du zu, dass

Eingetragen von patrici (107)
am 14.12.2014 - 13:50 Uhr
Zitat:

Lässt du zu, dass diese Bilder mit einem Klickziel verbunden werden können, wird es nochmals schwieriger, dann du dann die Kontrolle endgültig verlierst.

Den Satz verstehe ich nicht. Was meinst du mit Klickziel? Meine Frage hat sich hauptsächlich auf sql injections oder Ähnliches bezogen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi, statt token_replace würde

Eingetragen von maen (547)
am 14.12.2014 - 21:08 Uhr

Hi, statt token_replace würde ich das mit field_get_items() lösen.

PS; Was Roland meint ist dass es irgendwie gefährlich ist Banner mit einem Hintegrund zu produziern von dem Du nicht weisst ob die Links korrekt sidn und später auch noch existieren.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Roter Teppich für "Cross Site Scripting"

Eingetragen von C_Logemann (912)
am 14.12.2014 - 21:17 Uhr

Daß hier mal ein Link nicht funktioniert wäre meine geringste Sorge. Benutzer-Eingaben sollte man niemals ungefiltert ins HTML schreiben. Da sollte wenigstens ein XSS-Filter zwischen:
https://api.drupal.org/api/drupal/includes%21common.inc/function/filter_...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kann Carsten nur

Eingetragen von tobi-berlin (857)
am 15.12.2014 - 10:31 Uhr

Kann Carsten nur zustimmen...allerdings übernimmt token_replace das laut der Funktionsbeschreibung, wenn es nicht "ausgeschaltet" wird: https://api.drupal.org/api/drupal/includes!token.inc/function/token_replace/7

Außerdem sollten solche Prozesse nie in einer Template-Datei gemacht werden.... maximal in der template.php, besser aber in einem eigenen Modul

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für eure Antworten.

Eingetragen von patrici (107)
am 15.12.2014 - 10:48 Uhr

Danke für eure Antworten.

Ich hab das jetzt so gelöst das mittels des Moduls Field validate überprüfe ob das Feld eine Url ist.
Ich denke das reicht vorerst aus?

Was genau spricht denn dagegen es in einer Template Datei zu machen?
Und wie ist es möglich so etwas über ein modul zu lösen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Templates sind dazu da,

Eingetragen von tobi-berlin (857)
am 15.12.2014 - 16:38 Uhr

Templates sind dazu da, vorher bereits aus der Datenbank abgefragte und bearbeitete Daten darzustellen. Wenn man das in den Modulen macht, das fertige Ergebnis ans Template ausliefert und dann im Template munter weitere Daten hinzugefügt, wird es schnell sehr unübersichtlich, woher jetzt welche Daten kommen.

Templates sind NUR für die DARSTELLUNG der fertig gelieferten Daten da. Braucht man zusätzliche Daten, kann man das in kleinem Rahmen noch in Preprocess-Funktionen in der template.php erledigen... aber du willst ja sicher nicht, dass der Banner bei einem Template-Wechsel nicht mehr funktioniert, sondern dann auch in dem neuen Template eingebunden werden kann. Noch ein Grund, das in einem Modul zu erledigen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also spricht performance und

Eingetragen von patrici (107)
am 16.12.2014 - 10:34 Uhr

Also spricht performance und sicherheitstechnisch nix dagegen? Ich würde es am liebsten in der page.tpl lassen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 3 Tagen 23 Stunden
  • Hey danke
    vor 4 Tagen 17 Stunden
  • Update: jetzt gibt's ein
    vor 5 Tagen 11 Stunden
  • Hallo, im Prinzip habe ich
    vor 1 Woche 2 Tagen
  • Da scheint die Terminologie
    vor 1 Woche 3 Tagen
  • Kannst doch auch alles direkt
    vor 2 Wochen 6 Stunden
  • In der entsprechenden View
    vor 2 Wochen 6 Stunden
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 6 Stunden
  • gelöst
    vor 4 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 4 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 9 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association