tham khảo: Prevent HTTP Basic Authentication from displaying prompt for imagesIssue với crossorigin thất bại vô danh để tải hình ảnh
Để bảo vệ nội dung của tôi do người dùng tạo ra từ này tiềm năng "khai thác", tôi đã thêm crossorigin="anonymous"
cho tất cả [img]
BBCodes.
Vâng, nó hoạt động trong IE11: khi tôi thử nghiệm khai thác, hình ảnh không còn kích hoạt hộp thoại xác thực (kiểm tra với bộ nhớ cache bị vô hiệu hóa và các URL khác để đo tốt).
Nhưng trong Chrome, việc khai thác không hoạt động ... vì hình ảnh không được tải. Thay vào đó, tôi nhận được lỗi rõ ràng khá phổ biến:
Image from origin 'XXXXX' has been blocked from loading by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'YYYYY' is therefore not allowed access.
Có thể sự hiểu biết của tôi sai, nhưng tôi cho rằng giá trị này sẽ hoạt động.
Tôi có thiếu thứ gì đó không và nếu có thì tùy chọn nào khác để bảo vệ chống lại vấn đề này?
Vấn đề chính tôi gặp phải gần đây không phải là "hack" bị lỗi, mà đúng hơn là Chrome chặn tất cả hình ảnh hoàn toàn trên tài khoản của chúng không có tiêu đề kiểm soát truy cập. Việc loại bỏ thuộc tính 'crossorigin =" anonymous "' làm cho các hình ảnh hoạt động trở lại, nhưng khôi phục lại lỗ hổng này đối với bản hack. –
Có. Tôi không chắc chắn nếu tôi không thể giao tiếp rõ ràng, nhưng, những gì bạn đang nói là hành vi mong đợi. – bozzmob
bozzmob giải thích tốt! Và @NiettheDarkAbsol, Có, chrome sẽ chặn tất cả hình ảnh nếu bạn không gửi tiêu đề kiểm soát truy cập vì chrome sẽ không ở vị trí tin nếu yêu cầu của người dùng là chính hãng hay không. Đó là cách cơ chế kiểm soát truy cập hoạt động. –