Стилі зображення повертають заборонено


22

Я використовую модуль Вставка, щоб дозволити користувачам вставляти зображення у певний стиль зображення на сторінку. Після оновлення до Drupal 7.20 зображення не зберігаються у files/stylesпапках, а URL-адреса зображення повертає помилку 403 (доступ заборонено). Я перевірив дозволи на папки, і всі вони встановлені на 777.


Я також встановив модуль media_flickr, але я вважаю, що мої стилі зображення працювали після встановлення. Я можу помилитися.
Еван Джонсон

Відповіді:


32

Завжди рекомендується прочитати нотатки до випуску нового випуску перед оновленням, щоб переконатися, що оновлення не порушує деякі поточні функції.

У релізі нота Drupal 7,20 згадує:

Виправлення безпеки у цьому випуску змінюють усі похідні URL-адреси зображень, згенеровані Drupal, і додають маркер як рядок запиту. (Наприклад, посилання, які раніше вказували на таку URL-адресу, як http://example.com/sites/default/files/styles/thumbnail/public/field/image/example.png , тепер вказуватимуть на такий URL, як http: / /example.com/sites/default/files/styles/thumbnail/public/field/image/example.png?itok=zD_VaCaD .)

Ви можете додати такий рядок до свого, settings.phpщоб зображення на сайті працювали:

$conf['image_allow_insecure_derivatives'] = TRUE;

але це було б так само добре, як оновлення ядра та не використання оновлень ;-)

Деякі корисні посилання зі сторінки:

ОНОВЛЕННЯ:

З приміток до випуску Drupal 7.21 оновлення містить виправлення несумісностей, введених лише у випуску безпеки Drupal 7.20. Отже, рекомендується оновити до останньої версії, тобто 7.21, щоб використовувати виправлення безпеки у версії 7.20.


2
До! так, читання приміток до випуску добре. У мене є погана звичка просто набирати "drush up drupal". Дякую!!!
Еван Джонсон

патч в # 1923554 працював над моїм випуском
rémy

@ rémy, будь ласка, дивіться редагування.
AjitS

я не хочу дозволити небезпечні похідні. дивна річ, що коли я намагаюся створити образ із стилю зображення, він дає мені URL-адресу та маркер безпеки, але все ще друкується заборонено. якісь ідеї?
Олексій

3
Ця проблема також зберігатиметься, якщо десь у коді, за яким ви телефонували image_style_path (), щоб генерувати шлях зображення, це потрібно змінити на image_style_url (), щоб правильно генерувати маркер.
майстерність

3

Що того, чого варто, я також виявив, що після оновлення та очищення кешу якось у моїх каталогах стилів зображення більше не було встановлено правильних дозволів.

Кореневі стилі / [ваш стиль] та стилі / [ваш стиль] / public мають бути 755, щоб речі завантажувалися належним чином.

Змінення їх усіх призвело до того, що зображення з'явилися належним чином!


1

Виправте вашу файлову систему: / admin / config / media / file-system

Ось мої налаштування:

Налаштуйте шлях публічної системи : сайти / за замовчуванням / файли

Шлях приватної файлової системи порожній.

Тимчасовий каталог: / tmp

Спосіб завантаження за замовчуванням (вибрано) Загальнодоступні локальні файли, що обслуговуються веб-сервером.


1

Виконуючи це редагування, НЕ виправляли проблему та не помилки:

рядок 775 модулів / image / image.admin.inc потребує виправлення ...

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

(оскільки моя репутація низька, я поки що не можу коментувати цю окрему відповідь)

Я реалізував цей шлях назад, і він вирішив багато речей, коли ця проблема вперше виникла:

$conf['image_allow_insecure_derivatives'] = TRUE;

Я також здійснив зміни всіх +FollowSymLinksдо , +SymLinksIfOwnerMatchале до сих пір я не в змозі отримати стилі зображення попереднього перегляду , щоб працювати належним чином.

Наступний і останній варіант - змінити права доступу до розміру сервера, ack. Я або виправлю це, або все зламаю.


0

рядок 775 модулів / image / image.admin.inc потребує виправлення ...

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

4
Кошенята загинуть, якщо це використати. (Ніколи не зламайте core).
stefgosselin
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.