Gaya gambar mengembalikan Akses Ditolak


22

Saya menggunakan modul Sisipkan untuk memungkinkan pengguna memasukkan gambar dengan gaya gambar tertentu ke dalam halaman. Setelah memutakhirkan ke Drupal 7.20, gambar tidak disimpan dalam files/stylesfolder, dan url gambar mengembalikan kesalahan 403 (akses ditolak). Saya memeriksa izin folder, dan semuanya diatur ke 777.


Saya juga menginstal modul media_flickr, tapi saya percaya gaya gambar saya berfungsi setelah instalasi. Saya bisa saja salah.
Evan Johnson

Jawaban:


32

Itu selalu dianjurkan untuk membaca catatan rilis dari rilis baru sebelum memperbarui, untuk memastikan bahwa pembaruan tidak merusak beberapa fitur saat ini.

The rilis catatan Drupal 7.20 menyebutkan:

Perbaikan keamanan dalam rilis ini mengubah semua URL turunan gambar yang dihasilkan oleh Drupal untuk menambahkan token sebagai string kueri. (Sebagai contoh, tautan yang sebelumnya menunjuk ke URL seperti http://example.com/sites/default/files/styles/thumbnail/public/field/image/example.png sekarang akan mengarah ke URL seperti http: / /example.com/sites/default/files/styles/thumbnail/public/field/image/example.png?itok=zD_VaCaD .)

Anda dapat menambahkan baris berikut ke Anda settings.phpuntuk mendapatkan gambar di situs berfungsi:

$conf['image_allow_insecure_derivatives'] = TRUE;

tetapi akan sama baiknya dengan memperbarui inti dan tidak menggunakan pembaruan ;-)

Beberapa tautan bermanfaat dari halaman:

MEMPERBARUI:

Dari catatan rilis Drupal 7.21, pembaruan mencakup perbaikan untuk ketidakcocokan yang diperkenalkan dalam rilis keamanan Drupal 7.20 saja. Jadi, disarankan untuk memperbarui ke versi terbaru yaitu 7.21 untuk menggunakan perbaikan keamanan di versi 7.20.


2
lakukan! ya, membaca catatan rilis itu bagus. Saya punya kebiasaan buruk hanya mengetik 'drush up drupal'. Terima kasih!!!
Evan Johnson

tambalan di # 1923554 berfungsi untuk masalah saya
rémy

@my silakan lihat hasil edit.
AjitS

saya tidak ingin mengizinkan turunan tidak aman. Yang aneh adalah, ketika saya mencoba untuk membuat gambar dari dalam gaya gambar, itu memberi saya url dan token keamanan, tetapi akses cetak masih ditolak. ada ide?
Alex

3
Masalah ini juga akan bertahan jika di mana saja dalam kode yang Anda panggil image_style_path () untuk menghasilkan jalur gambar, ini perlu diubah ke image_style_url () untuk menghasilkan token dengan benar.
masterchief

3

Untuk apa nilainya, saya juga menemukan bahwa entah bagaimana direktori gaya gambar saya tidak lagi menetapkan izin yang benar setelah peningkatan dan menghapus cache.

Mereka root gaya / [gaya Anda] dan gaya / [gaya Anda] / publik harus 755 agar hal-hal untuk memuat dengan benar.

Mengubah mereka semua menyebabkan gambar muncul dengan benar lagi!


1

Perbaiki sistem File Anda: / admin / config / media / sistem file

Ini pengaturan saya:

Atur jalur sistem publik : situs / default / file

Jalur sistem file pribadi kosong.

Direktori sementara: / tmp

Metode unduhan default (dipilih) File lokal publik yang dilayani oleh server web.


1

Melakukan pengeditan ini TIDAK memperbaiki masalah dan menghasilkan kesalahan:

baris 775 modul / gambar / image.admin.inc membutuhkan tambalan ...

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

(Karena reputasi saya rendah, saya belum dapat berkomentar di bawah jawaban terpisah itu)

Saya telah menerapkan cara ini kembali dan memperbaiki banyak hal ketika masalah itu muncul pertama kali:

$conf['image_allow_insecure_derivatives'] = TRUE;

Saya juga telah menerapkan mengubah semua +FollowSymLinkske +SymLinksIfOwnerMatchtapi masih saya tidak bisa mendapatkan gaya gambar preview untuk bekerja dengan baik.

Pilihan berikutnya dan terakhir adalah untuk mengubah izin pengguna ukuran server, ack. Saya akan memperbaikinya atau menghancurkan semuanya.


0

baris 775 modul / gambar / image.admin.inc membutuhkan tambalan ...

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

4
Anak kucing akan mati jika ini digunakan. (Jangan pernah hack inti).
stefgosselin
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.