Bildstile geben Zugriff verweigert zurück


22

Ich verwende das Modul Einfügen, um Benutzern das Einfügen von Bildern mit einem bestimmten Bildstil in eine Seite zu ermöglichen. Nach dem Upgrade auf Drupal 7.20 werden die Bilder nicht in den files/stylesOrdnern gespeichert , und die Bild-URL gibt einen 403-Fehler (Zugriff verweigert) zurück. Ich habe die Ordnerberechtigungen überprüft und sie sind alle auf 777 gesetzt.


Ich habe auch das media_flickr-Modul installiert, aber ich glaube, meine Bildstile haben nach der Installation funktioniert. Ich könnte falsch liegen.
Evan Johnson

Antworten:


32

Es wird immer empfohlen, die Versionshinweise der neuen Version vor dem Update zu lesen, um sicherzustellen, dass das Update einige der aktuellen Funktionen nicht beeinträchtigt.

In den Release Notes von Drupal 7.20 wird Folgendes erwähnt:

Durch die Sicherheitsupdates in dieser Version werden alle von Drupal generierten URLs für Bildableitungen so geändert, dass ein Token als Abfragezeichenfolge angehängt wird. (Links, die zuvor auf eine URL wie http://example.com/sites/default/files/styles/thumbnail/public/field/image/example.png verweisen, verweisen jetzt auf eine URL wie http: /. /example.com/sites/default/files/styles/thumbnail/public/field/image/example.png?itok=zD_VaCaD .)

Sie können die folgende Zeile zu Ihrer hinzufügen settings.php, damit die Bilder auf der Site funktionieren:

$conf['image_allow_insecure_derivatives'] = TRUE;

aber es wäre so gut wie das Aktualisieren des Kerns und nicht das Verwenden der Updates ;-)

Einige nützliche Links von der Seite:

AKTUALISIEREN:

Aus den Release Notes nur von Drupal 7.21 enthält das Update behebt Inkompatibilitäten in der 7.20 Sicherheit Release Drupal eingeführt. Es wird daher empfohlen, auf die neueste Version, dh 7.21, zu aktualisieren, um die Sicherheitsupdates in Version 7.20 zu verwenden.


2
doh! Ja, das Lesen der Release Notes ist gut. Ich habe die schlechte Angewohnheit, einfach 'drush up drupal' zu tippen. Vielen Dank!!!
Evan Johnson

Der Patch in # 1923554 hat für mein Problem
funktioniert

@rémy bitte im edit nachsehen.
Ajits

Ich möchte keine unsicheren Derivate zulassen. Das Seltsame ist, wenn ich versuche, ein Bild aus einem Bildstil heraus zu erstellen, erhalte ich die URL und das Sicherheitstoken, aber der Zugriff auf die Ausdrucke ist immer noch verweigert. irgendwelche Ideen?
Alex

3
Dieses Problem bleibt auch bestehen, wenn an einer beliebigen Stelle im Code, an der Sie image_style_path () aufgerufen haben, um den Bildpfad zu generieren, dies in image_style_url () geändert werden muss, um das Token korrekt zu generieren.
Masterchief

3

Für das, was es wert ist, stellte ich auch fest, dass meine Image-Style-Verzeichnisse nach einem Upgrade und dem Löschen des Caches nicht mehr die richtigen Berechtigungen hatten.

Die Stammstile / [Ihr Stil] und Stile / [Ihr Stil] / public sollten 755 sein, damit die Dinge richtig geladen werden.

Wenn Sie sie alle ändern, werden die Bilder wieder richtig angezeigt!


1

Korrigieren Sie Ihr Dateisystem: / admin / config / media / file-system

Hier sind meine Einstellungen:

Richten Sie den Pfad des öffentlichen Systems ein : sites / default / files

Der Pfad zum privaten Dateisystem ist leer.

Temporäres Verzeichnis: / tmp

Standard-Download-Methode (ausgewählt) Öffentliche lokale Dateien, die vom Webserver bereitgestellt werden.


1

Das Durchführen dieser Bearbeitung hat das Problem NICHT behoben und zu Fehlern geführt:

Zeile 775 von modules / image / image.admin.inc benötigt einen Patch ...

775> - $preview_file = image_style_path($style['name'], $original_path);
775> + $preview_file = image_style_url($style['name'], $original_path);

(Da mein Ruf gering ist, kann ich unter dieser separaten Antwort noch keinen Kommentar abgeben.)

Ich habe diese Methode bereits implementiert und viele Probleme behoben, als dieses Problem zum ersten Mal auftrat:

$conf['image_allow_insecure_derivatives'] = TRUE;

Ich habe auch das Ändern von "Alle" +FollowSymLinksin implementiert , kann +SymLinksIfOwnerMatchaber die Vorschau der Bildstile immer noch nicht ordnungsgemäß anzeigen.

Als Nächstes und Letztes können Sie die Benutzerrechte in Servergröße ändern, bestätigen Sie. Ich werde es entweder reparieren oder alles kaputt machen.


0

Zeile 775 von modules / image / image.admin.inc benötigt einen Patch ...

775> - $preview_file = image_style_path($style['name'], $original_path);
775> + $preview_file = image_style_url($style['name'], $original_path);

4
Kätzchen sterben, wenn dies verwendet wird. (Niemals Kern hacken).
Stefgosselin
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.