Kiểu ảnh trả về Truy cập bị từ chối


22

Tôi đang sử dụng mô-đun Chèn để cho phép người dùng chèn hình ảnh với một kiểu hình ảnh cụ thể vào một trang. Sau khi nâng cấp lên Drupal 7.20, hình ảnh không được lưu trong các files/stylesthư mục và url hình ảnh trả về lỗi 403 (truy cập bị từ chối). Tôi đã kiểm tra các quyền của thư mục và tất cả chúng đều được đặt thành 777.


Tôi cũng đã cài đặt mô-đun media_flickr, nhưng tôi tin rằng kiểu hình ảnh của tôi đã hoạt động sau khi cài đặt. Tôi có thể sai.
Evan Johnson

Câu trả lời:


32

Luôn luôn nên đọc ghi chú phát hành của bản phát hành mới trước khi cập nhật, để đảm bảo rằng bản cập nhật không phá vỡ một số tính năng hiện tại.

Các ghi chú phát hành của Drupal 7,20 đề cập:

Các bản sửa lỗi bảo mật trong bản phát hành này thay đổi tất cả các URL phái sinh hình ảnh được tạo bởi Drupal để nối thêm mã thông báo dưới dạng chuỗi truy vấn. (Ví dụ: các liên kết trước đây đã trỏ đến một URL như http://example.com/sites/default/files/styles/thumbnail/public/field/image/example.png giờ đây sẽ trỏ đến một URL như http: / /example.com/sites/default/files/styles/thumbnail/public/field/image/example.png?itok=zD_VaCaD .)

Bạn có thể thêm dòng sau vào settings.phpđể làm cho hình ảnh trong trang web hoạt động:

$conf['image_allow_insecure_derivatives'] = TRUE;

nhưng nó sẽ tốt như cập nhật lõi và không sử dụng các bản cập nhật ;-)

Một số liên kết hữu ích từ trang:

CẬP NHẬT:

Từ các ghi chú phát hành của Drupal 7.21, bản cập nhật bao gồm các bản sửa lỗi cho sự không tương thích được giới thiệu trong bản phát hành bảo mật Drupal 7.20. Vì vậy, nên cập nhật lên phiên bản mới nhất tức là 7.21 để sử dụng các bản sửa lỗi bảo mật trong phiên bản 7.20.


2
doh! vâng, đọc ghi chú phát hành là tốt. Tôi có một thói quen xấu là chỉ cần gõ 'drush up drupal'. Cảm ơn bạn!!!
Evan Johnson

Bản vá trong # 1923554 đã hoạt động cho vấn đề của tôi
rémy

@ rémy vui lòng xem bản chỉnh sửa.
AjitS

tôi không muốn cho phép các dẫn xuất không an toàn. Điều kỳ lạ là, khi tôi cố gắng tạo một hình ảnh từ trong một kiểu hình ảnh, nó sẽ cho tôi url và mã thông báo bảo mật, nhưng vẫn in quyền truy cập bị từ chối. có ý kiến ​​gì không
Alex

3
Vấn đề này cũng sẽ tồn tại nếu bất cứ nơi nào trong mã bạn đang gọi image_style_path () để tạo đường dẫn hình ảnh, điều này cần được thay đổi thành image_style_url () để tạo mã thông báo chính xác.
mưu

3

Đối với những gì đáng giá tôi cũng thấy rằng bằng cách nào đó các thư mục kiểu ảnh của tôi không còn được đặt quyền chính xác sau khi nâng cấp và xóa bộ đệm.

Kiểu gốc của chúng / [kiểu của bạn] và kiểu / [kiểu của bạn] / công khai phải là 755 để mọi thứ được tải đúng cách.

Thay đổi tất cả khiến cho hình ảnh xuất hiện đúng cách!


1

Sửa hệ thống tệp của bạn: / admin / config / media / file-system

Đây là cài đặt của tôi:

Thiết lập đường dẫn hệ thống công cộng : các trang web / mặc định / tệp

Đường dẫn hệ thống tập tin riêng tư là trống rỗng.

Thư mục tạm thời: / tmp

Phương thức tải xuống mặc định (được chọn) Các tệp cục bộ công cộng được phục vụ bởi máy chủ web.


1

Thực hiện chỉnh sửa này KHÔNG khắc phục được sự cố và tạo ra lỗi:

dòng 775 của mô-đun / hình ảnh / hình ảnh.admin.inc cần một bản vá ...

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

(vì danh tiếng của tôi thấp nên tôi không thể bình luận dưới câu trả lời riêng biệt đó)

Tôi đã thực hiện theo cách này trở lại và nó đã sửa rất nhiều thứ khi vấn đề đó xuất hiện lần đầu:

$conf['image_allow_insecure_derivatives'] = TRUE;

Tôi cũng đã thực hiện thay đổi tất cả +FollowSymLinksthành +SymLinksIfOwnerMatchnhưng vẫn không thể xem trước các kiểu hình ảnh để hoạt động chính xác.

Tùy chọn tiếp theo và cuối cùng là thay đổi quyền người dùng ở kích thước máy chủ, ack. Tôi sẽ sửa nó hoặc phá vỡ tất cả.


0

dòng 775 của mô-đun / hình ảnh / hình ảnh.admin.inc cần một bản vá ...

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

4
Mèo con sẽ chết nếu điều này được sử dụng. (Không bao giờ hack lõi).
stefgosselin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.