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 - 21: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 - 13: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 - 14: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 - 22: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 (914)
am 14.12.2014 - 22: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 - 11: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 - 11: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 - 17: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 - 11: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

  • How to Spend a Great Evening at Crash Online Games
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
Weiter

Neue Kommentare

  • Was für einen Server benutzt
    vor 1 Woche 13 Stunden
  • Wenn die Subdomain auf
    vor 1 Woche 2 Tagen
  • ordnerstruktur
    vor 1 Woche 2 Tagen
  • Die Subdomain muß auf den
    vor 1 Woche 5 Tagen
  • Verwende doch das Tag dafür,
    vor 5 Wochen 3 Stunden
  • Guckst du hier: step by step
    vor 4 Wochen 6 Tagen
  • Guckst du hier: step by step
    vor 4 Wochen 6 Tagen
  • Ich habe ja keine Angst vor
    vor 6 Wochen 2 Tagen
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 6 Wochen 4 Tagen
  • Vielen Dank erst einmal, aber
    vor 6 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250290
Registrierte User: 20516

Neue User:

  • RollingSlots
  • Wolf Dab
  • Scottteday

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 33 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